简单说说 Spring事务 的传播特性

我看大多数外包公司以及去甲方是大厂的都很爱问 Spring事务的传播特性,这个可以说是没有什么难度、非常基础的知识点了,如果你还不能掌握是不是要挨打了?!

下面我就简单讲讲 Spring事务的传播特性 ,也就是其中的精髓所在。


1、Spring事务的传播特性 是个什么东东?

顾名思义,肯定和事务相关,涉及场景就是2个嵌套的方法分别有事务时,外层事务对内层事务的影响

这就是它的精髓啦。

2、Spring事务的传播特性 有几种?

7种。这个知道就好,可以记住一两个,没必要全记住。我放一张图列举一下到底有哪几种:

3、简单介绍3个

  • PROPAGATION_REQUIRED

这个是默认的。分两种情况,第一:外层有required事务,内层无论有没有其他事务特性类型都要按照外层的required事务走。

第二:外层无事务,内层事务特性类型是required,则内层新建一个事务(用自己的事务)。

  • PROPAGATION_SUPPORTS

也分两种情况,第一:外层有事务,内层是supports事务,则内层就用外层的事务。

第二:外层没有事务,内层是supports事务,则内层是非事务的,该执行执行该报错报错,不会回滚。

tip: 可以这么理解,supports事务是比较懒的,你有我就用你的,你没有我啥也不用。

  • PROPAGATION_MANDATORY

​​​​​​​也分两种情况,第一:外层有事务,内层事务特性类型是mandatoy,内层就按外层事务走。

第二:外层没有事务,内层事务特性类型是mandatoy,则直接给你报异常 说“No existing transaction found for transaction marked with propagation 'mandatory'”。

tip:mandatory 可以理解为 事妈,外层你有就用你的,你没有就跟你说“不行啊,你跟我不匹配”。

。。。。。。其他的类推即可。。。。。。

4、小结

对于刚入门的同学,你看再多的文章也就是上面我标红那一句,不用花太多的心思,理解即可。如果非要记住一个,你就记住默认的是required就行。

 

 

我的目标就是将复杂的知识简单化,将无聊的知识有趣化。传播知识又不是写论文,做报告,遇到这样的,没什么价值,除了晦涩难懂。

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值