什么是Spring的事务传播特性,就是多个事务方法相互调用时,事务如何在这些方法中传播。Spring支持7种事务传播特性:
- PROPAGATION_REQUIRED(默认实现):当前没有事务则新建事务,有则加入当前事务;
- PROPAGATION_SUPPORTS:支持当前事务,如果当前没有事务则以非事务方式执行;
- PROPAGATION_MANDATORY:使用当前事务,如果没有则抛出异常;
- PROPAGATION__REQUIRES_NEW:新建事务,如果当前有事务则把当前事务挂起;
- PROPAGATION_NOT_SUPPORIED:以非事务的方式执行,如果当前有事务则把当前事务挂起;
- PROPAGATION_NEVER:以非事务的方式执行,如果当前有事务则抛出异常;
- PROPAGATION_NESTED:如果当前存在事务,则在嵌套事务内执行。如果当前没有事务,则执行与PROPAGATION_REQUIRED类似的操作;