spring 事务失效
导致spring事务失效的情况,分别有六种:
1.方法不是public修饰
2.方法所在的类没有被spring管理
3.方法抛出的异常没有被spring事务捕捉
4.方法被同类中的其他方法捕获
5.@Transactional()的propagation属性设置为PROPAGETION.NEVER
6.@Transactional()的rollbackFor设置的Exception类型不适配
代码示例:
1.方法不是被public修饰
2.方法所在的类没有被spring管理 如:@Service 注解没有
3.方法抛出的异常没有被spring事务捕捉(在方法中手动捕捉)
4.方法被同类中的其他方法调用
5.方法的@Transactional()的propagation属性设置为PROPAGATION.NEVER
6.方法的@Transactional()的rollbackFor属性设置Exception类型不适配(如:设置NullPointerException 类型,抛出类型为RuntimeException类型)