Spring的@Transactional事务注意事项
1、@Transactional应该放在方法级别,不需要使用事务的方法,就不要放置事务,
2、查询方法声明不要事务,否则对性能是有影响的。
3、对同一个类里的方法调用, @Transactional无效
内部方法使用this.方式调用,没有通过spring获取调用,无法AOP
解决方法:通过ApplicationContext获取bean的方式进行调用。
4、@Transactional注解方法被外部其他类调用才有效,所以一定要public,
在 protected、private或package-visible方法上使用 @Transactional 注解,不报错,但事务无效。
* 抛出受查异常XXXException,事务会回滚。
* 抛出运行时异常NullPointerException,事务会回滚。
* Quartz同步任务,execute直接调用@Transactional方法,可回滚;间接调用,不会回滚。(参见3)
* Quartz异步任务,execute直接调用@Transactional方法,可回滚;间接调用,不会回滚。(参见3)
* 在controller中加上@Transactional,不会回滚。
Spring的@Transactional事务注意事项的更多相关文章
- Spring中@Transactional事务回滚
转载: Spring中@Transactional事务回滚 一.使用场景举例 在了解@Transactional怎么用之前我们必须要先知道@Transactional有什么用.下面举个栗子:比如一个部 ...
- Spring提取@Transactional事务注解的源码解析
声明:本文是自己在学习spring注解事务处理源代码时所留下的笔记: 难免有错误,敬请读者谅解!!! 1.事务注解标签 <tx:annotation-driven /> 2.tx 命名空间 ...
- Spring中@Transactional事务回滚实例及源码
一.使用场景举例 在了解@Transactional怎么用之前我们必须要先知道@Transactional有什么用.下面举个栗子:比如一个部门里面有很多成员,这两者分别保存在部门表和成员表里面,在删除 ...
- Spring中@Transactional事务回滚(含实例详细讲解,附源码)
一.使用场景举例 在了解@Transactional怎么用之前我们必须要先知道@Transactional有什么用.下面举个栗子:比如一个部门里面有很多成员,这两者分别保存在部门表和成员表里面,在删除 ...
- Spring中@Transactional事务回滚(含实例具体解说,附源代码)
一.使用场景举例 在了解@Transactional怎么用之前我们必须要先知道@Transactional有什么用. 以下举个栗子:比方一个部门里面有非常多成员,这两者分别保存在部门表和成员表里面,在 ...
- spring注解-@Transactional事务几点注意
这里面有几点需要大家留意:A. 一个功能是否要事务,必须纳入设计.编码考虑.不能仅仅完成了基本功能就ok.B. 如果加了事务,必须做好开发环境测试(测试环境也尽量触发异常.测试回滚),确保事务生效.C ...
- Spring @Cacheable注解 && 事务@Transactional 在同一个类中的方法调用不生效
@Cacheable 注解在对象内部调用不会生效 代码示例:ProductServiceImpl.java public List<ProductInfoVO> getProductLis ...
- [转]@Transactional spring 配置事务 注意事项
@Transactional spring 配置事务 注意事项 [@more@] @Transactional spring 配置事务 注意事项 1. 在需要事务管理的地方加@Transactiona ...
- spring @Transactional 事务注解
@Transactional(propagation = Propagation.REQUIRED, isolation = Isolation.SERIALIZABLE, rollbackFor = ...
随机推荐
- (PMP)解题技巧和典型题目分析(每日20题)
3.11 1.A(C),2.D,3.A,4.B,5.A(C),6.D(A),7.D,8.A(D),9.B,10.D(B), 11.C(B),12.C(D),13.B,14.D,15.C,16.C(D) ...
- UE4行为树
这是 UE4中行为树编辑器 中可用的默认节点.取决于开发项目的不同(如射击游戏),可能会有更多节点.这里介绍五种行为树节点类型: 节点类型 描述 Composite(流程控制节点) 这种节点定义一 ...
- UNIX笔记 第二天
一.进程的退出: exit(3) _exit(2) atexit(3) onexit(3) 二.进程资源的回收:wait(2) waitpid(2) 三.加载新的可执行程序: exec函数族 exe ...
- VS Code 之 smarty 扩展
VS Code 中的 Smarty 扩展: https://github.com/imperez/vscode-smarty 目前(v0.2.0)不支持定制定界符.可以通过 trick 的方式篡改. ...
- Spring aop框架使用的jar包
除了前两个jar包,后面的jar包spring框架包中都有,前两个jar包的下载地址:https://pan.baidu.com/s/1L-GLGT1c8vnwFwqLxzzZuw
- C++中_cplusplus及Extern "C"的理解
一.意义 Extern "C":告诉编译器,这部分代码按C语言的方式进行编译,而不是C++的. _cplusplus:.cpp文件默认定义的宏.用来判断是否为.cpp文件. 二 ...
- 简析 __init__、__new__、__call__ 方法
简析 __init__.__new__.__call__ 方法 任何事物都有一个从创建,被使用,再到消亡的过程,在程序语言面向对象编程模型中,对象也有相似的命运:创建.初始化.使 用.垃圾回收,不同的 ...
- 安装PyQt5时缺少designer.exe的解决办法
学习PyQt框架的时候,看到了可以用可视化的方法搭建界面,好像ios的xib,但是安装完成pyqt5后怎么都找不designer.exe这个文件,于是查到了一下.发现了可以通过安装pip instal ...
- spring整合mybatis二种配置
第一种: <!-- 配置sqlsession --> <bean id="sqlsessionFactory" class="org.mybatis.s ...
- 【腾讯Bugly干货分享】WebSocket 浅析
本文来自于腾讯Bugly公众号(weixinBugly),未经作者同意,请勿转载,原文地址:http://mp.weixin.qq.com/s/7aXMdnajINt0C5dcJy2USg 前言 在W ...