SpringBoot项目中使用@Transactional注解开启事物时,要注意自调用导致无动态代理使得@Transactional注解失效不会滚问题。比如某Service中有A和B两个方法,B加上了@Transactional注解,由A调用B,则B的注解会失效。公认的两个解决方法是:1.把A和B分开写在两个业务接口中;2.A不直接调用B,而是通过容器获取本类的Bean,再通过这个Bean去调用B,这样注解也会生效。
但是为什么我把A也加上@Transactional注解,B的@Transactional就不会失效了。这也算是一种解决方法吗?有大佬解答一下吗?
