propagation属性的7个传播行为

  1. REQUIRED:指定当前方法必需在事务环境中运行,如果当前有事务环境就加入当前正在执
    行的事务环境,如果当前没有事务,就新建一个事务。这是默认值。
  2. SUPPORTS:指定当前方法加入当前事务环境,如果当前没有事务,就以非事务方式执行。
  3. MANDATORY:指定当前方法必须加入当前事务环境,如果当前没有事务,就抛出异常。
  4. REQUIRES_NEW:指定当前方法总是会为自己发起一个新的事务,如果发现当前方法已运行
    在一个事务中,则原有事务被挂起,我自己创建一个属于自己的事务,直我自己这个方法commit
    结束,原先的事务才会恢复执行。
  5. NOT_SUPPORTED:指定当前方法以非事务方式执行操作,如果当前存在事务,就把当前事
    务挂起,等我以非事务的状态运行完,再继续原来的事务。
  6. NEVER:指定当前方法绝对不能在事务范围内执行,如果方法在某个事务范围内执行,容器
    就抛异常,只有没关联到事务,才正常执行。
  7. NESTED:指定当前方法执行时,如果已经有一个事务存在,则运行在这个嵌套的事务中.如果
    当前环境没有运行的事务,就新建一个事务,并与父事务相互独立,这个事务拥有多个可以回
    滚的保证点。就是指我自己内部事务回滚不会对外部事务造成影响,只对
    DataSourceTransactionManager事务管理器起效。
    isolation属性有这些值:
  8. DEFAULT:采用数据库默认隔离级别
    <aop:pointcut id=“servicePointcut” expression="(execution(*
    com.gx.service…Impl.(…)))"/>
    <aop:advisor advice-ref=“txAdvice” pointcut-ref=“servicePointcut”/>
    </aop:config>
    2. SERIALIZABLE:最严格的级别,事务串行执行,资源消耗最大;
  9. REPEATABLE_READ:保证了一个事务不会修改已经由另一个事务读取但未提交(回滚)的
    数据。避免了“脏读取”和“不可重复读取”的情况,但是带来了更多的性能损失。
  10. READ_COMMITTED:大多数主流数据库的默认事务等级,保证了一个事务不会读到另一个并
    行事务已修改但未提交的数据,避免了“脏读取”。该级别适用于大多数系统。
  11. READ_UNCOMMITTED:保证了读取过程中不会读取到非法数据。隔离级别在于处理多事务
    的并发问题。
    readOnly:表示对应的事务应该被最优化为只读事务。
    如果值为true就会告诉Spring这个方法里面没有insert、update或者delete,你只需要提供只读的
    数据库Connection就行了,这种执行效率会比read-write的Connection高,所以这是一个最优化
    提示。在一些情况下,一些事务策略能够起到显着的最优化效果,例如在使用Object/Relational映
    射工具(如:Hibernate或TopLink)时避免dirty checking(试图“刷新”)。
    timeout:指定事务超时为几秒。
    一般不会使用这个属性。在JTA中,这将被简单地传递到J2EE服务器的事务协调程序,并据此得到
    相应的解释。

propagation的属性相关推荐

  1. Springboot、Mybatis 事务示例

    2019独角兽企业重金招聘Python工程师标准>>> 摘要 这篇文章主要记录Springboot下单数据源.多数据源配置,以及事务的常见属性配置.重点理解事务的隔离级别.传播属性. ...

  2. 编程式事务与声明式事务

    编程式事务 1.加入jar包 com.springsource.net.sf.cglib-2.2.0.jar com.springsource.org.aopalliance-1.0.0.jar co ...

  3. Spring事务传播行为详解

    前言 Spring在TransactionDefinition接口中规定了7种类型的事务传播行为.事务传播行为是Spring框架独有的事务增强特性,他不属于的事务实际提供方数据库行为.这是Spring ...

  4. 太难了~面试官让我结合案例讲讲自己对Spring事务传播行为的理解!

    摘要: 原创出处 sf.gg/a/1190000013341344 「handaqiang」欢迎转载,保留摘要,谢谢! 前言 基础概念 1. 什么是事务传播行为? 2. Spring 中七种事务传播行 ...

  5. spring @Transactional注解参数详解

    事物注解方式: @Transactional 当标于类前时, 标示类中所有方法都进行事物处理 , 例子: @Transactional public class TestServiceBean imp ...

  6. Spring 事务相关及@Transactional的使用建议

    使用步骤: 步骤一.在spring配置文件中引入<tx:>命名空间 <beans xmlns="http://www.springframework.org/schema/ ...

  7. SpringBoot 中的事务处理 @Transactional

    一.什么是事务? 一个事务一旦其中有一个操作出现错误,事物的操作将全部回滚.系统将事务中对数据库的所有的已完成的操作全部撤消,回滚到事务开始的状态. 一个事务中的所有操作作为一个单元,要么完全地执行, ...

  8. 事物注解方式: @Transactional

    当标于类前时, 标示类中所有方法都进行事物处理 , 例子: 1 @Transactional public class TestServiceBean implements TestService { ...

  9. Spring 注解方式实现 事务管理

    2019独角兽企业重金招聘Python工程师标准>>> 使用步骤: 步骤一.在spring配置文件中引入<tx:>命名空间 <beans xmlns="h ...

最新文章

  1. SyntaxError: Non-ASCII character ‘\xe5‘ in file(xxlrt_1.py) on line 7, but no encoding declared;
  2. 为你解读7大类深度CNN架构创新综述(附论文)
  3. linux 的重定向、管道、xargs 命令
  4. Python 程序开发90个注意事项
  5. 蛤玮打扫教室(区间覆盖)
  6. 分布式框架seata启动命令
  7. matlab在一个坐标系画不同三维图,怎么用多个色标
  8. 盛松成:别死盯着M2不放,社会融资规模更能反映中国实际
  9. python编写姓名年龄_python小工具 - alert弹框输出姓名年龄、求和
  10. C#实现DataTable按天分组并计数
  11. 什么是区块链――区块链的分布式数据库、共识机制
  12. 3个人的java 实验_20165104-JAVA第三次实验
  13. jedate change事件监控,使用jedate无法使用change事件
  14. FFmpeg下载网络视频流
  15. 周立功CAN通讯(txt格式) 报文解析
  16. [Nowcoder] 2021年度训练联盟热身训练赛第六场 Mini Battleship | 深搜 回溯 乱搞
  17. 用python设置背景音乐_用Python设置
  18. ept技术_Intel虚拟化技术——EPT、VPID
  19. [数据结构 算法] A*算法--罗马尼亚度假问题(实验课作业)
  20. 吃透Chisel语言.31.Chisel进阶之通信状态机(三)——Ready-Valid接口:定义、时序和Chisel中的实现

热门文章

  1. 论文完成过程中发现的重要问题
  2. UI 设计初学者应该怎样入门?
  3. 取消苹果计算机按键音,iphone11按键音怎么关闭
  4. 基于SSM的酒店入住预定系统(JavaWeb毕业设计源码)
  5. 假若没有“数字中台”,“大象”怎能翩翩起舞?
  6. 少年班神童今何在:牛人辈出,“让他们按常规读书才是摧残”
  7. 概率计算,使用DecimalFormat,保留两位小数
  8. 阿尔法大蛋智能机器人功能_家长使用科大讯飞阿尔法大蛋人工智能机器人TYR101优缺点评测介绍...
  9. Mybatis动态sql标签说明
  10. html5下拉幻灯片插件,强大实用的jQuery幻灯片插件Owl Carousel