@transactional注解失效情况
先来了解一下@Transactional注解事务的特性吧,可以更好排查问题
1、service类标签(一般不建议在接口上)上添加@Transactional,可以将整个类纳入spring事务管理,在每个业务方法执行时都会开启一个事务,不过这些事务采用相同的管理方式。
2、@Transactional 注解只能应用到 public 可见度的方法上。 如果应用在protected、private或者 package可见度的方法上,也不会报错,不过事务设置不会起作用。
3、默认情况下,Spring会对unchecked异常进行事务回滚;如果是checked异常则不回滚。
辣么什么是checked异常,什么是unchecked异常
java里面将派生于Error或者RuntimeException(比如空指针,1/0)的异常称为unchecked异常,其他继承自java.lang.Exception得异常统称为Checked Exception,如IOException、TimeoutException等
辣么再通俗一点:你写代码出现的空指针等异常,会被回滚,文件读写,网络出问题,spring就没法回滚了。然后我教大家怎么记这个,因为很多同学容易弄混,你写代码的时候有些IOException我们的编译器是能够检测到的,说以叫checked异常,你写代码的时候空指针等死检测不到的,所以叫unchecked异常。这样是不是好记一些啦
@transactional注解失效情况相关推荐
- @Transactional注解什么情况会失效?
1.@Transactional 应用在非 public 修饰的方法上 如果Transactional注解应用在非public 修饰的方法上,Transactional将会失效. 之所以会失效是因为在 ...
- 一口气说出 6种 @Transactional 注解失效场景
引言 昨天公众号粉丝咨询了一个问题,说自己之前面试被问@Transactional注解哪些场景下会失效,一时语塞致使面试失败.所以今天简单的和大家分享一下@Transactional相关的知识. @T ...
- @getmapping注解的作用_@Transactional注解失效了?你遇到的是这6种场景吧!
引言 昨天公众号粉丝咨询了一个问题,说自己之前面试被问@Transactional注解哪些场景下会失效,一时语塞致使面试失败.所以今天简单的和大家分享一下@Transactional相关的知识. @T ...
- Spring 事务方法与非事务方法相互调用 @Transactional 注解失效不回滚?
写这篇文章的初衷呢就是最近遇到了一个Spring事务的大坑.与其说是坑,还不如说是自己事务这块儿太薄弱导致的(自嘲下). 项目环境 Spring Boot 下面开始问题描述,发生的过程有点长,想直接看 ...
- @Transactional注解在什么情况下失效?
引言 1.@Transactional 注解相信大家并不陌生,平时开发中很常用的一个注解,它能保证方法内多个数据库操作要么同时成功.要么同时失败. 2.使用@Transactional注解时需要注意许 ...
- 一口气说出 6 种 @Transactional 注解的失效场景
一.事务 事务管理在系统开发中是不可缺少的一部分,Spring提供了很好事务管理机制,主要分为编程式事务和声明式事务两种. 编程式事务:是指在代码中手动的管理事务的提交.回滚等操作,代码侵入性比较强, ...
- @getmapping注解的作用_一口气说出6种,@Transactional注解的失效场景
作者:程序员内点事 引言 昨天公众号粉丝咨询了一个问题,说自己之前面试被问@Transactional注解哪些场景下会失效,一时语塞致使面试失败.所以今天简单的和大家分享一下@Transactiona ...
- 面试官让我说出2种@Transactional注解的失效场景,我一口气给他说了六种
引言 @Transactional 注解相信大家并不陌生,平时开发中很常用的一个注解,它能保证方法内多个数据库操作要么同时成功.要么同时失败.使用**@Transactional注解时需要注意许多的细 ...
- @Transactional 注解的失效场景
作者:码农开花 链接:https://zhuanlan.zhihu.com/p/351260443 来源:知乎 著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 引言 有人咨询了一 ...
最新文章
- 显示域用户登录的ip或计算机名,如何在使用PowerShell脚本或者VBS脚本,查看域内正在登录的域用户名、主机名和主机IP地址...
- vue入门基础篇笔记1
- svn版本信息自动更新到源代码
- matlab hist函数_算法工匠MATLAB专训营:Matlab绘图,小试牛刀
- iscsi存储的简单配置
- javaSE各阶段练习题--面向对象-static-String-StringBuilder
- springboot集成springDataJpa
- 【Time系列一】datetime的妙用
- 来自后端的突袭? --开包即食的教程带你浅尝最新开源的C# Web引擎 Blazor
- SEO笔记—网页结构优化(四)
- C++primer 第 2 章 变量和基本类型
- Python使用标准库urllib模拟浏览器爬取网页内容
- Hadoop生态圈-Flume的组件之sink处理器
- 勤能补拙 VS 思考补拙
- Atitit 关于微服务的思考与理解 attilax总结 1.1. 架构的历史 微服务发展历史 Web》soa》msa	1 1.2. 微服务最大特点 独立部署	1 2. 微服务的优点	1 2.1.
- 嵌入式系统开发笔记33:关于“人生苦短,我学Python”这句话的由来
- spring boot 核心配置文件是什么?
- 学习ubuntu基础看完这一篇就够了,我是貔貅带你打开ubuntu的大门
- 操作系统七种寻址方式
- java微信获取素材列表_微信公众号开发之获取素材列表并保存
热门文章
- 【转】logback 常用配置详解(序)logback 简介
- C#:委托基础与事件
- Linux下读写芯片的I2C寄存器
- Jm86中的encode_one_macroblock注释
- 【图像处理】——Python实现two_pass方法来进行连通域的提取
- SOLIDWORKS——参数化建模
- Halcon例程(基于3D形状匹配识别方法)详解 —— create_shape_model_3d_lowest_model_level.hdev
- 出现23.97帧率的原因
- mysql多表查询语句_mysql查询语句 和 多表关联查询 以及 子查询
- J storm战队成员_DOTA2J.Storm战队介绍-DOTA2ESL孟买站预选赛J.Storm战队介绍_牛游戏网攻略...