一,REQUIRED
1.1 REQUIRED 是 Spring 中事务传播行为的默认选项
1.2传播行为
如果当前没有事务,就创建一个新事务,如果当前存在事务,就加入该事务,该设置是最常用的设置。
二,REQUIRES_NEW
2.1 传播行为
REQUIRES_NEW 总是会创建一个新的事务,无论当前是否存在事务。如果当前存在事务,则会将当前事务挂起;如果当前不存在事务,则直接创建一个新的事务。
这意味着 REQUIRES_NEW 方法的执行完全独立于外部事务,不受外部事务的影响,且不会与外部事务共享同一个事务上下文。
2.2独立性和隔离性
REQUIRES_NEW方法的事务是和外部隔离的,它的方法的执行不会影响到外部也不会被外部影响。即方法内的回滚不会影响到方法外,具有隔离性。
三,SUPPORTS
3.1传播特点
SUPPORTS 是 Spring 框架中的一种事务传播行为。它的主要特点是,如果当前存在事务,则该方法会加入到该事务中执行;如果当前不存在事务,则该方法以非事务方式执行。
四,NO_SUPPORTS
4.1传播特点
NOT_SUPPORTED 是 Spring 框架中的一种事务传播行为,它的主要特点是将方法的执行置为非事务方式。即使当前存在事务,该方法也会在不受事务管理的环境下执行。
五,MANDATORY
5.1 传播特点
MANDATORY 是 Spring 框架中的一种事务传播行为,其主要特点是必须在一个已存在的事务中执行,否则会抛出异常。这意味着如果在调用的方法中不存在事务,则会抛出异常,要求调用者在一个事务中执行。
##六,NEVER
六、NEVER
6.1 传播特点
NEVER 是 Spring 框架中的一种事务传播行为,它的主要特点是绝对不允许方法在事务中执行。如果当前存在事务,则会抛出异常,阻止方法执行
七、NESTED
7.1 传播特点
NESTED 是 Spring 框架中的一种事务传播行为,它提供了一种嵌套事务的机制。嵌套事务是外部事务的一部分,但它可以独立于外部事务进行提交或回滚。嵌套事务在外部事务的范围内,但其提交或回滚不会影响外部事务的状态。以下是对 NESTED 传播行为的详细介绍:
1万+

被折叠的 条评论
为什么被折叠?



