Spirng的事务 方法A调用方法B,事务是否失效
总结:
方法A调用方法B:
如果A和B方法在同一个类中:
如果A加@Transactional注解,B加不加@Transactional注解,事务是有效的,则AB在同一事务中。
如果A不加@Transactional注解,B加不加@Transactional注解,事务都是无效的。
如果A和B不在同一个类中:
如果A加@Transactional注解,B加不加@Transactional注解,事务是有效的。
如果A不加@Transactional注解,B加了@Transactional注解,只有B是有事务的;
如果A不加@Transactional注解,B不加@Transactional注解,A、B都是没有事务的。
或者这样理解
1、如果A加@Transactional注解,不管是不是在一个类中,不管B加不加注解,AB都是在同一事务中;
2、如果A不加@Transactional注解,只有B加@Transactional注解,AB方法为同一类,事务失效;AB不同类,只有B有事务;
3、如果A不加@Transactional注解,B不加@Transactional注解,则没有事务;
原因:A方法上有@Transactional注解,spring在管理的时候,会生成一个代理类,真正调用到A方法时,实际执行的是代理类里面的方法,该代理类里面的方法已经包括了B方法的调用,已经成为了一个方法。所以事务是有效的。
Spirng的事务 方法A调用方法B,事务是否失效相关推荐
- 在事务方法中调用另外一个事务方法,被调用方法的事务没起作用
在事务方法中调用另外一个事务方法,被调用方法的事务没起作用 在事务方法中调用另外一个事务方法,被调用方法的事务没起作用 问题描述:(例) service层有两个事务方法insertUser1.inse ...
- 如何解决Spring在同类方法相互调用中,事务,缓存等注解不生效的问题
☀️相信在日常开发中,一定经历过这样一个场景,就以下面这段代码抽象一下: @Service public class ServiceA {public void methodA() {methodB( ...
- @Transactional-同一个类中方法自调,调用方法事物失效
问题分析 一个类中的方法调用另一个事物传播性为创建事物的方法,调用的方法事物失效? SpringAOP 代理的Service对象调用了其方法,这个方法再去调用这个Service中的其他方法是没有使用A ...
- 【BUG记录】在onCreate()方法handler调用方法导致程序闪退
情景:我的代码里是在onCreate()方法中new Handler(),然后将创建的Handler对象调用方法发送消息,结果程序就闪退了 原因:在界面还没有被渲染完成的时候,是不能使用handler ...
- spring事务--使用aop事务代理对象调用方法示例
第一种获取aop代理对象的方式: 第二种方式获取aop代理对象:
- android封装方法js调用方法吗,common
@saqqdy/common 介绍 JS常用方法,来自于本人前端多年经验积累 软件架构 集成了大量常用方法,采用了纯原生ES6+babel+webpack的开发方式 安装教程 # 通过npm安装 np ...
- java 方法保存变量_java – 在初始化对象或将其保存为变量并调用该方法时,调用方法的速度更快...
其实这两段代码会有一点区别: ***** Class1.p 8: invokespecial #4 // Method ClassA."":(Ljava/lang/String;) ...
- Spring 事务方法与非事务方法相互调用 @Transactional 注解失效不回滚?
写这篇文章的初衷呢就是最近遇到了一个Spring事务的大坑.与其说是坑,还不如说是自己事务这块儿太薄弱导致的(自嘲下). 项目环境 Spring Boot 下面开始问题描述,发生的过程有点长,想直接看 ...
- spring声明式事务 同一类内方法调用事务失效
一 宏观说明 [问题] Spring的声明式事务,我想就不用多介绍了吧,一句话"自从用了Spring AOP啊,事务管理真轻松啊,真轻松:事务管理代码没有了,脑不酸了,手不痛了,一口气全配上 ...
最新文章
- 十大经典排序算法动画与解析,看我就够了
- 图灵奖得主Hamming对于少数人获得重大成果原因的思考,送给此刻克服迷惘坚持前行的你...
- CVPR Oral:我给大家表演一个无中生有|北航商汤耶鲁
- 20175316 盛茂淞 实验一 Java开发环境的熟悉
- 【python图像处理】图像的增强(ImageEnhance类详解)
- 【深入Java虚拟机JVM 01】Java发展与展望概述
- CMake基础 第4节 动态库
- 2.3 KNN-采用机器学习库来预测鸢尾花的分类
- c调用c++ qt_【C/C++】qt库结构及示例
- 使用mockjs模拟数据
- Repeater,DataList,DataGrid 【转】
- Linux下搭建asp.net运行环境
- android技术积累,Android开发中积累的一些报错的解决方法
- iphone屏幕录制_iPhone怎么内录声音?怎么录制苹果手机内部声音?
- Java:抽象类笔记
- C语言课后习题(60)
- vba java 网页_通过VBA提交JSP网站的Java脚本表单
- java 重复代码优化_利用注解 + 反射消除重复代码(Java项目)
- php7 xmlreader,PHP扩展之XML操作(四)——XMLReader
- Delphi第三方控件安装卸载指南
热门文章
- JVM中栈的frames详解
- STK12已出,STK 12 新特性介绍
- 自制适合城市家庭的鱼菜共生系统
- 常州刘国钧计算机专业,2020常州刘国钧高等职业技术学校的录取分数线
- 录简写与缩略语 问题解决工具及要点
- java程序求内切圆_JAVA求正方形边长,圆内切正方形,圆的直径为8,求正方形边长和面积!...
- webp格式如何转成png?
- 图形界面 II: 设置库的事件处理函数 (第三章)
- mmdetection目标检测训练过程参数解读
- kubectl logs和docker logs输出日志不同的问题