Spring @Transactional 事务的7大传播特性

今天有时间, 重新回顾了一下Spring的7大传播特性, 并且我画了图,便于李姐, 自我感觉还不错, 底部还有对领导的吐槽, 下次面试问我对加班的看法, 可以回复 mandatory, NEVER 哈哈哈

required

默认的

使用当前的事务, 如果当前没有事务,则自己新建一个事务,子方法是必须运行在一个事务中的, 如果当前存在事务,则加入当前事务, 成为一个整体

样例:

supports

如果当前有事务, 则使用事务, 如果当前没有事务, 则不使用事务

mandatory

外部必须存在事务, 不存在就抛异常

required_new

如果当前有事务, 则挂起当前事务, 并创建一个自己新的事务, 如果当前没有事务, 则同 required

not_supported

如果当前有事务, 则把当前事务挂起, 自己不使用事务执行,

never

如果当前有事务, 直接抛出异常

nested

如果当期有事务, 则开启一个子事务(嵌套事务), 嵌套事务是独立提交或者独立回滚的, 如果当前没有事务, 则同Required

汇总

传播特性通俗易懂
required 领导没钱, 我有钱, 我自己吃饭, 领导有钱, 领导给我买饭
supports 领导有钱, 我俩一起吃饭, 领导没钱, 我俩一起饿着
mandatory 领导必须管饭, 不管, 我就报错
required_new 领导管饭, 我不吃, 我就要自己花钱
not_supports 领导没饭吃,我不吃,领导管饭吃,我也不吃
never 领导管饭, 我就报错
nested 领导有错,大家一起走人, 小弟有错, 领导可以决定是否要全部走人
 
posted @   彼岸舞  阅读(96)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
历史上的今天:
2021-06-02 从零开始学VUE之组件化开发(插槽 slot)
2021-06-02 《将博客搬至CSDN》
2021-06-02 从零开始学VUE之组件化开发(阶段案例)
2021-06-02 从零开始学VUE之组件化开发(父子组件的访问方式)
2021-06-02 从零开始学VUE之组件化开发(父子组件的通信)
2021-06-02 从零开始学VUE之组件化开发(组件数据的存放)
2021-06-02 从零开始学VUE之组件化开发(组件分离写法)
点击右上角即可分享
微信分享提示