总结:
方法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,事务是否失效相关推荐

  1. 在事务方法中调用另外一个事务方法,被调用方法的事务没起作用

    在事务方法中调用另外一个事务方法,被调用方法的事务没起作用 在事务方法中调用另外一个事务方法,被调用方法的事务没起作用 问题描述:(例) service层有两个事务方法insertUser1.inse ...

  2. 如何解决Spring在同类方法相互调用中,事务,缓存等注解不生效的问题

    ☀️相信在日常开发中,一定经历过这样一个场景,就以下面这段代码抽象一下: @Service public class ServiceA {public void methodA() {methodB( ...

  3. @Transactional-同一个类中方法自调,调用方法事物失效

    问题分析 一个类中的方法调用另一个事物传播性为创建事物的方法,调用的方法事物失效? SpringAOP 代理的Service对象调用了其方法,这个方法再去调用这个Service中的其他方法是没有使用A ...

  4. 【BUG记录】在onCreate()方法handler调用方法导致程序闪退

    情景:我的代码里是在onCreate()方法中new Handler(),然后将创建的Handler对象调用方法发送消息,结果程序就闪退了 原因:在界面还没有被渲染完成的时候,是不能使用handler ...

  5. spring事务--使用aop事务代理对象调用方法示例

    第一种获取aop代理对象的方式: 第二种方式获取aop代理对象:

  6. android封装方法js调用方法吗,common

    @saqqdy/common 介绍 JS常用方法,来自于本人前端多年经验积累 软件架构 集成了大量常用方法,采用了纯原生ES6+babel+webpack的开发方式 安装教程 # 通过npm安装 np ...

  7. java 方法保存变量_java – 在初始化对象或将其保存为变量并调用该方法时,调用方法的速度更快...

    其实这两段代码会有一点区别: ***** Class1.p 8: invokespecial #4 // Method ClassA."":(Ljava/lang/String;) ...

  8. Spring 事务方法与非事务方法相互调用 @Transactional 注解失效不回滚?

    写这篇文章的初衷呢就是最近遇到了一个Spring事务的大坑.与其说是坑,还不如说是自己事务这块儿太薄弱导致的(自嘲下). 项目环境 Spring Boot 下面开始问题描述,发生的过程有点长,想直接看 ...

  9. spring声明式事务 同一类内方法调用事务失效

    一 宏观说明 [问题] Spring的声明式事务,我想就不用多介绍了吧,一句话"自从用了Spring AOP啊,事务管理真轻松啊,真轻松:事务管理代码没有了,脑不酸了,手不痛了,一口气全配上 ...

最新文章

  1. 十大经典排序算法动画与解析,看我就够了
  2. 图灵奖得主Hamming对于少数人获得重大成果原因的思考,送给此刻克服迷惘坚持前行的你...
  3. CVPR Oral:我给大家表演一个无中生有|北航商汤耶鲁
  4. 20175316 盛茂淞 实验一 Java开发环境的熟悉
  5. 【python图像处理】图像的增强(ImageEnhance类详解)
  6. 【深入Java虚拟机JVM 01】Java发展与展望概述
  7. CMake基础 第4节 动态库
  8. 2.3 KNN-采用机器学习库来预测鸢尾花的分类
  9. c调用c++ qt_【C/C++】qt库结构及示例
  10. 使用mockjs模拟数据
  11. Repeater,DataList,DataGrid 【转】
  12. Linux下搭建asp.net运行环境
  13. android技术积累,Android开发中积累的一些报错的解决方法
  14. iphone屏幕录制_iPhone怎么内录声音?怎么录制苹果手机内部声音?
  15. Java:抽象类笔记
  16. C语言课后习题(60)
  17. vba java 网页_通过VBA提交JSP网站的Java脚本表单
  18. java 重复代码优化_利用注解 + 反射消除重复代码(Java项目)
  19. php7 xmlreader,PHP扩展之XML操作(四)——XMLReader
  20. Delphi第三方控件安装卸载指南

热门文章

  1. JVM中栈的frames详解
  2. STK12已出,STK 12 新特性介绍
  3. 自制适合城市家庭的鱼菜共生系统
  4. 常州刘国钧计算机专业,2020常州刘国钧高等职业技术学校的录取分数线
  5. 录简写与缩略语 问题解决工具及要点
  6. java程序求内切圆_JAVA求正方形边长,圆内切正方形,圆的直径为8,求正方形边长和面积!...
  7. webp格式如何转成png?
  8. 图形界面 II: 设置库的事件处理函数 (第三章)
  9. mmdetection目标检测训练过程参数解读
  10. kubectl logs和docker logs输出日志不同的问题