Spring service本类中方法调用另一个方法事务不生效

  1. 原因
    spring中切面只是对方法进行包装,只会拦截外部对该方法的调用。当进入到service内部后再对注解了Transactional方法调用其实和调用普通方法并没有什么区别,属于内部调用。事务注解只在通过service代理类调用时才会有作用
  2. 解决方案
    在方法内部调用内部被切面修饰的方法时要获取该类的代理类,然后调用需要调用的方法。具体方法如下
    Spring service本类中方法调用另一个方法事务不生效
    Spring service本类中方法调用另一个方法事务不生效