Spring事务传播机制

120 篇文章 2 订阅
79 篇文章 0 订阅

Spring事务传播机制
大家都知道spring的有个很重要的概念就是事务,事务传播是如果a方法中调用了b方法,那么b方法是用a的事务呢还是单独开启另外的事务呢?

这就牵扯到了Spring的事务传播机制

Spring有7中事务传播机制,我一一给大家做个简单的介绍

REQUIRED
这是Spring默认的传播机制,如果a方法没有开启事务b就会自己新建一个事务,如果a开启了事务,b就会使用a的事务

REQUIRES_NEW
显然这时候b需要创建一个新的事务,如果a开启了事务,b会挂起当前的事务,不管a有没有事务,b都会使用新的事务

SUPPORTS
如果a开启了事务,b就用a的事务,如果a没有事务,b也不会新建事务,也会以非事务的方式运行

NOT_SUPPORTED
如果a开启了事务,b会把这个事务挂起,也就是说方法会以非事务的形式运行

NEVER
显然这个比NOT_SUPPORTED更加的强势,它会让a和b都不使用事务,如果存在事务的话就会抛出异常

NESTED
当a事务有的话,b会嵌套一个事务,当b出现异常的时候b会回滚,a不受影响,a回滚的话b也会回滚。也就是b不会影响a,a影响b

MANDATORY
MANDATORY是强制性的意思,a如果有事务,b就会和a共用同一个事务,如果a没有事务,b就抛出异常信息

总结
本篇主要介绍了spring的7中事务传播机制,默认是REQUIRED,理解它并在合适的场景下选择合适的事务传播机制。

 

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值