如何解决spring bean通过this访问实例方法时@Transactional失效

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何解决spring bean通过this访问实例方法时@Transactional失效相关的知识,希望对你有一定的参考价值。

参考技术A Spring中的事务是以拦截器方式织入到业务代理对象中的,如果业务对象两个方法a,b都配置了事务属性,而在a方法实现中又调用b方法,则b方法声明的事务会在本次调用中不生效。

解决的办法就是在a方法中不使用this.b()的方式调用方法b,而是从Spring容器中通过一种方式来获得业务代理对象,然后在代理对象上面调用它的b方法。这样b方法声明的事务就会有效啦。本回答被提问者和网友采纳

以上是关于如何解决spring bean通过this访问实例方法时@Transactional失效的主要内容,如果未能解决你的问题,请参考以下文章

Spring下如何配置bean

Spring初学之通过工厂方法配置Bean

Spring实例化bean顺序问题,导致注入失败

SpringBean入门介绍

Spring入门之四-------Spring实例化Bean的其他知识点

spring如何解决循环依赖