spring事务传播行为笔记

来源:互联网 发布:命运 定数 知乎 编辑:程序博客网 时间:2024/05/19 15:20

事务传播属性可以在 @Transactional 注解的 propagation 属性中定义

最常用的两种传播行为:

1、REQUIRED:一个方法(方法二)被另一个事务方法(方法一) 调用时, 它默认会在现有的事务内运行. 这个默认的传播行为就是 REQUIRED. 因此在 方法一的开始和终止边界内只有一个事务. 这个事务只在 方法一结束的时候被提交。(说通俗点就是方法一调用方法二,方法二会看如果方法一有事务,就直接用方法一的事务就行,和调用几次无关;如果方法一没有事务,我方法二就自己创建个事务,调用我几次 我创建几次!)


2、REQUIRES_NEW:它表示该方法必须启动一个新事务, 并在自己的事务内运行. 如果有事务在运行, 就应该先挂起它.(这个正好相反就是,我方法二不管你方法一有没有事务,我都自己创建一个事务,你调用我几次我创建几次!)


原创粉丝点击