Spring事务传播机制-通俗易懂

1. REQUIRED(Spring默认的事务传播类型):方法A调用方法B,若两者方法是声明上都开启事务,则方法B事务加入到方法A事务中,合成一个事务。若只有方法B开启事务,方法A不开启,则方法B自己新建一个事务。

2. REQUIRES_NEW:方法A调用方法B,方法B使用了该传播机制,无论方法A是否有事务,方法B都会开启一个新的事务,而且方法B的事务与方法A的事务是相互隔离。  

3. SUPPORTS:方法A调用方法B,方法B使用了该传播机制,若方法A开启事务,则将方法B加入到方法A的事务中。若方法A无事务,则方法B什么动作都没有,以原本非事务的方式运行。

4. NOT_SUPPORTED:方法A调用方法B,方法B使用了该传播机制,无论方法A是否有事务,方法B都以非事务的方式运行,每条执行语句单独执行,单独提交。

5. MANDATORY: 方法A调用方法B,方法B使用了该传播机制,若方法A开启事务,则将方法B加入到方法A事务中整合。若方法A无事务,则抛异常。

6. NEVER:不使用事务,如果当前事务存在,则抛出异常。方法A调用方法B,方法B使用了该传播机制,若方法A开启事务,则抛异常。

7. NESTED:事务嵌套。方法A调用方法B,若两者都开启事务,则方法B嵌套近方法A中。若A无事务,则B新建事务。(和REQUIRED机制类似)。区别是:A、B事务嵌套,外部方法A若发生回滚,则方法B也会回滚;若方法B发生回滚,而方法A不会回滚。也就是说外部影响内部,内部不影响外部。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值