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