spring的7种事务传播方式

一,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 传播行为的详细介绍:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值