Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 841bb29

Browse files
committed
add propagation required in spring transactional sample
1 parent 2921a2f commit 841bb29

File tree

1 file changed

+11
-1
lines changed

1 file changed

+11
-1
lines changed

springboot-transactional-sample/README.md

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,16 @@
22

33
### Propagation(事务传播属性)
44
Propagation 属性确定代理应该对那些方法增加事务行为,这样属性最重要的部分是传播行为:
5-
> - PROPAGATION_REQUIRED 支持当前事务,如果当前没有事务,则新建一个事务,这是最常见的选择,也是 Spring 默认的
5+
> - **PROPAGATION_REQUIRED** ----> 支持当前事务,如果当前没有事务,则新建一个事务,这是最常见的选择,也是 Spring 默认的一个事务传播行为;
6+
> - **PROPAGATION_SUPPORTS** ----> 支持当前事务,如果当前没有事务,则以非事务的方式执行;
7+
> - **PROPAGATION_MANDATORY** ----> 支持当前事务,如果当前没有事务,则抛出异常;
8+
> - **PROPAGATION_REQUIRES_NEW** ----> 新建事务,如果当前存在事务,把当前事务挂起;
9+
> - **PROPAGATION_NOT_SUPPORTED** ----> 以非事务的方式执行操作,如果当前存在事务,就把当前事务挂起;
10+
> - **PROPAGATION_NEVER** ----> 以非事务方式执行,如果当前存在事务,则抛出异常;
11+
> - **PROPAGATION_NESTED** ----> Nested的事务和它的父事务是相依的,它的提交是等它的父事务一块提交的;
612
713

14+
#### (一)PROPAGATION_REQUIRED
15+
注解用法比如:@Transactional(propagation = Propagation.REQUIRED)
16+
默认的 spring 事务传播级别,使用该级别的特点是:如果上下文中已经存在事务,那么就加入到事务中执行,如果当前上下文不存在事务,则新建事务执行。在大多数业务场景下通常都能满足。
17+

0 commit comments

Comments
 (0)