Spring事务失效的情况 异常不匹配的情况 方法内异常被try cache住,导致异常没有被抛出抛出的异常与Transactional注解里rollbackFor声明的异常不匹配方法内抛出声明异常,如IOException,事务失效不会回滚 多线程的情况 在方法内开启了另一条线程,另一条线程的异常无法被监控,即使抛出了异常也无法回滚事务 AOP的本质 方法上的访问权限不为public,导致无法被代理如果使用的是jdk代理,在方法内使用this调用方法,事务无效。cglib无此情况。