同类中A方法未加@Transactional,B方法加@Transactional

A调用B,B的事务注解并未生效。

众所周知,事务是通过Aop动态代理实现的,当A方法不加@Transactional注解,代理链路都chian都是空,你还想用事务?

A.methodB于是变成了this.methodB,仅此而已,也就是和普通类中方法调用没差别

如下图,A方法加了事务注解,chain链路中就有事务拦截器,chain是通过 getInterceptorsAndDynamicInterceptionAdvice()方法获取,而有了chain链路,才能引导你执行到TransactionInterceptore中的invoke()方法,

另外,被Transactional标注的方法也是需要声明成public的,看源码,在spring对bean进行装载初始化的时候,会去检查Transactional注解所标注的方法是不是public。

为什么他会去检查这个?那是因为jdk代理只能针对接口,cglib代理针对于目标类生成代理子类,如果是private方法是不能被继承的,所以...

在同类中方法互调事务失效相关推荐

  1. 【每日提高之声明式事物】spring声明式事务 同一类内方法调用事务失效

    2019独角兽企业重金招聘Python工程师标准>>> [问题] Spring的声明式事务,我想就不用多介绍了吧,一句话"自从用了Spring AOP啊,事务管理真轻松啊, ...

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

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

  3. Spring中同一个类中方法调用事务不生效,非事务方法调用事务方式事务不生效

    我们假定在SerivceXXX中有两个方法: serviceA 非事务方法 serviceB事务方法 如果serviceA中方法定义类似如下: public void serviceA(){..... ...

  4. java 同类调用方法_JAVA中同类中方法的调用问题?

    1.为什么可以直接new+构造方法,来创建对象.而不用创建实例引用呢,像常见的这种:Car car1=new Car;我记得看过有说java中没有被引用的对象将被GC处理.那这个算不算. 你创建了一个 ...

  5. spring中事务失效的几种情况

    下面简单介绍下,spring中常见的事务失效的几种情况.让我们在开发的过程避免这些情况,写出正确而且优雅的代码. 文章目录 数据库引擎不支持,mysql需要InnoDB 方法必须是public的 方法 ...

  6. 事务失效了?别怕,这里有四种方式可以让他生效起来

    目录 一.背景 二.事务失效的原因 三.事务失效的真正原因 四.事务失效场景复现 五.事务失效的四种解决方案 六.留个思考题,和朋友探讨时留下的 一.背景 操作一张表或者多张表时,多次进行更新操作,确 ...

  7. SpringAOP同类调用失效(事务失效)

    项目场景: 同一个 ServiceA 中有B()方法.C()方法,在 ServiceA 中B()调用C()时,事务注解@Transactional不生效 @Service public class S ...

  8. Spring事务失效 -方法内部调用

    首先感谢网友的文章 Spring事务失效的2种情况 JDK动态代理给Spring事务埋下的坑 前提知识: 两个前提 1 注解使用 spring容器的事务管理注解 @org.springframewor ...

  9. 就同一个Service类中,一个事务方法调用另外一个有事务的方法

    目录 一.Spring 事务机制 二.Spring事务传播行为 三.场景总结 1.在同一个类中,一个方法调用另外一个有注解(比如@Async,@Transational)的方法,注解是不会生效的 2. ...

最新文章

  1. matplotlib更改networkx生成的图形的背景图。
  2. linux粘着位的使用(t权限)
  3. HDU 2516 取石子游戏 斐波纳契博弈
  4. python技术是什么_学 Python 都用来干嘛的?
  5. 百度地图JavaScript API覆盖物旋转时出现偏移
  6. 自定义python框架_Python web 框架Sanic 学习: 自定义 Exception
  7. mongod启动问题
  8. php 截图插件,react中有实现截图插件吗
  9. 小学三年级计算机导学案,小学三年级学科导学案.doc
  10. 中小微企业房抵贷业务场景介绍
  11. mac python安装pyqt5_pyqt5 mac os 安装
  12. Java基础:Util包下常用的数据结构介绍
  13. toj 4069 简易统计
  14. 阅读阿里巴巴开发人员手册1
  15. python简明教程_04
  16. JAVA关于MD5加盐加密算法
  17. windows/linux多系统并存体验
  18. 数据结构WSADATA
  19. Java绩效评语_导师评语(转) - Java, Only Java! - BlogJava
  20. TK1+yolo安装指南

热门文章

  1. 2022-2027(新版)中国铍铜线行业产销规模与前景动态预测报告
  2. 计算机网络-网络传输媒介之“双绞铜线”
  3. 面试题:什么是控制反转和依赖注入?
  4. 方法的调用(java)
  5. php7 isapi筛选器,无法加载ISAPI筛选器一例
  6. 用C语言写一个通信软件,客户端可以实现文字聊天,文件传输,建立群聊;服务端可以创建账号吧...
  7. 照片太大,照片如何压缩变小?
  8. JSON Schema的应用(具体的使用场景)
  9. 【领域泛化】论文介绍《Learning to balance specificity and invariance for in and out of domain generalization》
  10. Vue3解析markdown解析并实现代码高亮显示