1.spring事务的传播

  1. 为什么会有传播机制

    1. spring对事务的控制,是使用aop切面实现的

    2. 场景一:A调用B,都有事务,B异常,让B提交还是两个一起回滚

    3. 场景二:A调用B,A有事务,是够让B加入事务控制,B异常,A是否回滚

    4. 场景三:A调用B,都有事务,B执行完成,A有异常,B是否回滚

  2. 传播机制的生效条件

    1. 由于spring是使用aop来代理事务控制的,是针对于接口或类的,所以在同一个service类中两个方法调用,传播机制是不生效的

  3. 事务传播的类型

    1. REQUIRED(默认)

      1. 支持当前事务,如果当前没有事务,则新建事务

      2. 如果当前存在事务,则加入当前事务,合并成一个事务

      3. 子事务回滚,父事务一定回滚;父事务回滚,子事务一定回滚

    2. REQUIRES_NEW

      1. 新建事务,如果当前存在事务,则把当前事务挂起

      2. 这个方法会独立提交事务,不受调用者的事务影响,父级异常,它也会正常提交

    3. NESTED

      1. 如果当前存在事务,它将会成为父级事务的一个子事务,方法结束后并没有提交,只有等父事务结束才提交

      2. 如果当前没有事务,则新建事务

      3. 如果它异常,父级可以捕获它的异常而不进行回滚,正常提交

      4. 但如果父级异常,它必然回滚,这就是和REQUIRES_NEW的区别

    4. NOT_SUPPORTED

      1. 以非事务方式运行

      2. 如果当前存在事务,则把当前事务挂起

    5. MANDATORY

      1. 如果当前存在事务,则运行在当前事务中

      2. 如果当前无事务,则抛出异常,即父级方法必须要有事务

    6. NEVER

      1. 以非事务方式运行,如果当前存在事务,则抛出异常,即父级方法必须无事务

spring事务的传播相关推荐

  1. 面试官:Spring事务的传播行为有几种?

    点击上方 好好学java ,选择 星标 公众号 重磅资讯.干货,第一时间送达 今日推荐:程序员入职国企,1周上班5小时,晒出薪资感叹:腾讯当CEO也不去个人原创+1博客:点击前往,查看更多 在Spri ...

  2. spring手动控制事务开启_“上帝视角”图解Spring事务的传播机制原理

    转载:https://mp.weixin.qq.com/s/odP1DKgRtXsCcAKxwGahug 数据库事务的"抓手" 数据库的事务功能已经由数据库自身实现,它留给用户的就 ...

  3. 数据库事务原理详解-Spring 事务的传播属性

    所谓spring 事务的传播属性,就是定义在存在多个事务同时存在的时候,spring 应该如何处理这些事务的行为.这些属性在TransactionDefinition 中定义,具体常量的解释见下表: ...

  4. Spring事务的传播机制

    spring事务的传播机制 1.spring事务 指封装在数据库事务之上的一种事务处理机制.其管理方法有两种,分别是编程式事务以及声明式事务.一般我们使用@Transactional进行声明式事务. ...

  5. Spring 事务的传播属性

    Spring 事务的传播属性 事务的传播属性: 1.PROPAGATION_REQUIRED * :如果不存在事务则新建事务,若存在事务则加入事务,默认是这个 2.PROPAGATION_SUPPOR ...

  6. Spring事务的传播行为

    Spring事务的传播行为 Spring事务的传播行为有七种,对应着事务定义接口TransactionDefinition中的七种状态.PROPAGATION_REQUIRED.PROPAGATION ...

  7. Spring事务管理-传播行为-隔离级别

    事务是逻辑上的一组操作,这组操作要么全部成功,要么全部失败. 事务的特性:ACID 原子性:事务是一个不可分割的工作单位,事务中的操作要么都发生,要么都不发生 一致性:事务前后数据的完整性约束保持一致 ...

  8. ​Spring事务的传播行为案例分析

    简介:网上关于Spring事务传播性以及隔离型的文章漫天盖地,还有不负责任的直接复制名词意思,文章虽然很多却是看的云里雾里,我们今天将给出案例分别和大家一起学习. 网上关于Spring事务传播性以及隔 ...

  9. Spring事务处理,以及Spring事务的传播属性和隔离级别

    本文转自:http://www.cnblogs.com/younggun/archive/2013/07/16/3193800.html 事务的隔离级别:事务隔离级别用于处理多事务并发的情况,通常使用 ...

最新文章

  1. 傅里叶分析斯坦恩中文版pdf_实分析(英文版)[(美)斯坦恩(Stein,E.M.) 著] 2013年版...
  2. JZOJ 5424. 【NOIP2017提高A组集训10.25】凤凰院凶真
  3. 工业机器人电柜布线_沙湾附近回收工业锅炉“本信息长期有效”
  4. 【数据结构与算法】之深入解析“不同的二叉搜索树”的求解思路与算法示例
  5. php 腾讯云 文字识别_腾讯云安全为何成为企业首选?4大原因成为制胜王道
  6. Sybase资料下载(参考手册,功能讲解很全)
  7. 关于本地共享文件夹会话连接时间
  8. 我的AWS开发人员考试未通过。 现在怎么办?
  9. groovy 慢_grails – Groovy中的sql.rows()运行缓慢
  10. IDA pro 的Python环境变量设置
  11. 红帽linux考证时间,红帽认证考试时间
  12. XCode 5安装旧版iOS SDK
  13. bin文件合并工具(UBIN)使用方法
  14. Win10配置Tensorflow-GPU
  15. 欧拉降幂公式模板hdu4704
  16. SwiftUI 如何解决Generic parameter ‘SelectionValue‘ could not be inferred
  17. 用matlab求二重积分例题_数学建模matlab例题参考及练习
  18. mysql刷新当前数据库_sqlyog刷新数据库
  19. 查看linux系统IPV6地址
  20. 订单发货地址修改php,拼多多发货地址可以修改吗?怎么合并发货?

热门文章

  1. 技术经理成长复盘-领导力
  2. Android-发布项目到到 JCenter 仓库
  3. 达梦数据库与MySQL部分语法区别
  4. 【沙发管家】电视猫3.1.6新版体验:资源更全面,院线大片看到爽!
  5. 印制电路板表面镀覆技术
  6. Qt实现微信截图功能(一)
  7. 通信——电脑连接不上蓝牙耳机的一种解决办法
  8. nginx的反向代理
  9. winxp一键锁定计算机,WinXP中设置快捷键锁定计算机的方法
  10. 2022-2028全球与中国智能路灯系统市场现状及未来发展趋势