Spring的事务传播特性

1、Spring的事务传播特性

事务属性的种类:传播行为、隔离级别、只读和事务超时。

事务传播行为就是多个事务方法相互调用时,事务如何在这些方法间传播。

2、Spring事务传播行为种类

spring支持7种事务传播行为,分别为:

propagation_requierd:如果当前没有事务,就新建一个事务,如果已存在一个事务中,加入到这个事务中,这是最常见的选择。

propagation_supports:支持当前事务,如果没有当前事务,就以非事务方法执行。

propagation_mandatory:使用当前事务,如果没有当前事务,就抛出异常。

propagation_required_new:新建事务,如果当前存在事务,把当前事务挂起。

propagation_not_supported:以非事务方式执行操作,如果当前存在事务,就把当前事务挂起。

propagation_never:以非事务方式执行操作,如果当前事务存在则抛出异常。

propagation_nested:如果当前存在事务,则在嵌套事务内执行。如果当前没有事务,则执行与propagation_required类似的操作。

3、说明

Spring 默认的事务传播行为是 PROPAGATION_REQUIRED,它适合于绝大多数的情况。假设 ServiveY#methodY() 都工作在事务环境下(即都被 Spring 事务增强了),假设程序中存在如下的调用链:Service1#method1()->Service2#method2()->Service3#method3(),那么这 3 个服务类的 3 个方法通过 Spring 的事务传播机制都工作在同一个事务中。

Spring的事务传播特性相关推荐

  1. spring中事务传播特性

    转载:若水三千-LOVE 所谓事务传播行为就是多个事务方法相互调用时,事务如何在这些方法间传播.Spring 支持 7 种事务传播行为(Transaction Propagation Behavior ...

  2. Spring事务传播特性实例解析

    背景介绍 目前系统正在进行代码重构前期预研工作,目标采用spring控制事务以减少开发代码量,提高开发效率.同时避免开发人员编码控制事务所带来的链接没有释放,事务没有提交,出现异常事务没有回滚的Bug ...

  3. 什么是事务、事务特性、事务隔离级别、spring事务传播特性

    1.什么是事务: 事务是指程序中的一个操作序列.其特点是:该序列的所有操作要么全部成功完成,要么只要有一个操作失败,则该序列所有操作都将被撤销.这也是事务的原子性(要么成功,要么失败). 2.事务特性 ...

  4. mysql数据库事务传播特性_什么是事务的传播特性?

    我们都知道事务的概念,那么事务的传播特性是什么呢?(此处着重介绍传播特性的概念,关于传播特性的相关配置就不介绍了,可以查看spring的官方文档) 在我们用SSH开发项目的时候,我们一般都是将事务设置 ...

  5. 【Spring】Spring不同事务传播行为测试

    首先我说下写这篇文章的原因,虽然平时也频繁使用spring的事务,但是对事务在复杂情况下发生回滚的情况和spring不同的事务传播行为还是很模糊.   因为平时都只使用默认的传播行为,其他的很少用.但 ...

  6. 事务嵌套 、事务挂起、事务传播特性

    事务嵌套 .事务挂起.事务传播特性 即多个事务方法嵌套调用时 父子方法的事务如何嵌套.合并.管理 场景 方法啊调用方法b 方法b是事务方法 方法a不确定时(a可能有事务注解) 具体七种 propaga ...

  7. 七种Spring事务传播特性

    Spring中通过Propagation来设置事务的传播属性的,在这个属性中提供了我们其中关于事务传播的特性: 1.     PROPAGATION_REQUIRED:支持当前事务,如果当前没有事务, ...

  8. Spring事务传播特性实例解析(以及如何使用注解形式事务)

    原文地址:http://blog.csdn.net/yoara/article/details/16114853 原文地址的文章,写的demo会误导读者,所以在原文地址文章的基础上对原作者的demo进 ...

  9. Spring事务传播特性与事物隔离级别

    红花易衰似郎意,水流无限似侬愁.--刘禹锡<竹枝词> 传播特性: 传播行为 意义 PROPAGATION_MANDATORY 表示该方法必须运行在一个事务中.如果当前没有事务正在发生,将抛 ...

  10. spring 事物的传播特性

    2019独角兽企业重金招聘Python工程师标准>>> 在使用spring事物通常会配置的Service层 ,当我们调用 一个service成的方法的时候 ,这个方法在执行的过程中对 ...

最新文章

  1. 33篇顶会论文如何做到?北大施柏鑫:论文投稿到接收,不可不知的关键环节...
  2. fancybox 在打开窗口前 先执行 js脚本,fancybox设置只能通过右上角关闭,fancybox遮罩层关闭...
  3. 课时 29:安全容器技术(王旭)
  4. Zoj 3201 Tree of Tree
  5. 【机器学习】信用卡欺诈检测|用启发式搜索优化XGBoost超参数
  6. 使用Node.JS监听文件夹变化
  7. 异数OS 2017 DPDK 峰会观后感
  8. 文献学习(part76-A)--To cluster, or not to cluster: An analysis of clusterability methods
  9. 2027. 转换字符串的最少操作次数
  10. 一步步编写操作系统 61 任务状态段 TSS
  11. des和aes相比较有哪些特点_栓流气力输送相比较传统的高速气力输送方式而言,有哪些优势?...
  12. 【算法】LSM-tree 基本原理及应
  13. 零基础小白如何入门前端?以下这几点一定是你需要的
  14. 刚刚,美国因「光纤断裂」大规模瘫痪,影响微软、Github和Netflix等服务
  15. 「win10右键菜单修改名称」
  16. 甲骨文CEO拉里-埃里森鲜为人知的11个特性
  17. 错误“无法找到XXX.exe的调试信息,或者调试信息不匹配。未使用调试信息生成二进制文件“的解决方案
  18. zan-admin响应式简单布局
  19. 因为在此系统上禁止运行脚本。无法运行脚本文件
  20. SCP:不同Linux服务器间的复制

热门文章

  1. Java使用aspose合并两个PDF文件
  2. 联想服务器开机显示英文,在开机自检时,在联想LOGO画面处死机(即自检时死机)...
  3. html 阴历阳历转换,本人花了一个星期的时间,使用ASP代码获得公历并转换成农历时间(2021年至2100年)...
  4. 数学中几种积:点积(数量积/标量积/内积)、叉积(叉乘/向量积)、外积(张量积/Kronecker积)、哈达玛积(元素积)
  5. 一起学习荷花定律/金蝉定律和竹子定律
  6. FreeSWITCH折腾笔记9——使用FS做一个i-SBC
  7. 186.MultiAutoCompleteTextView
  8. 使用three.js创建一个正方体
  9. 美国大选投票系统服务器 在法兰克福,网络投票处理方法,装置及服务器 Internet voting processing method, device and server...
  10. 计算机主机域名是,主机域名究竟是什么