spring 事务@Transactional 在同一个类中的方法调用不生效
参考链接:https://blog.csdn.net/qq_30336433/article/details/83338835
Transactional 是 Spring 提供的事务管理注解。
重点在于,Spring 采用动态代理(AOP)实现对 bean 的管理和切片,它为我们的每个 class 生成一个代理对象。只有在代理对象之间进行调用时,可以触发切面逻辑。
而在同一个 class 中,方法 B 调用方法 A,调用的是原对象的方法,而不通过代理对象。所以 Spring 无法切到这次调用,也就无法通过注解保证事务性了。
也就是说,在同一个类中的方法调用,则不会被方法拦截器拦截到,因此事务不会起作用。