Spring源码-声明式事务
spring声明式事务的传播特性:
可以分为三类:
支持外层事务的:
1. Required: 存在事务则使用当前事务,如果没有则创建一个事务;
2. supports: 如果存在事务,就使用当前事务,不存在事务,就不使用事务;
3. mandatory:使用当前事务,如果没有事务的话就抛异常;
不支持外层事务的:
1. Required new:如果存在事务,将事务挂起,重新创建一个事务;
2. not supports:不需要事务,如果存在就挂起事务;
3. never:不需要事务,如果存在事务就抛异常;
支持保存点:
1. nested:如果存在事务,会创建保存点,不存在则新建一个事务;