「spring」的【事务传播】行为
时间: 2023-07-14 10:02:34 浏览: 91
通过实际案例摸清楚Spring事务传播的行为.docx
在 Spring 框架中,事务传播行为(Transaction Propagation)定义了在方法调用链中如何处理事务传播的策略。Spring 提供了多种事务传播行为选项,可以通过事务注解或编程方式进行配置。
以下是几种常见的事务传播行为:
1. REQUIRED(默认):如果当前存在事务,则加入该事务,若不存在事务,则创建一个新事务。这是最常用的传播行为。
2. REQUIRES_NEW:总是创建一个新事务,如果当前存在事务,则将其挂起。在内部事务提交或回滚后,外部事务会恢复执行。
3. SUPPORTS:如果当前存在事务,则加入该事务,若不存在事务,则以非事务方式执行。
4. NOT_SUPPORTED:以非事务方式执行操作,如果当前存在事务,则将其挂起。
5. MANDATORY:要求当前存在事务,否则抛出异常。
6. NEVER:禁止当前存在事务,否则抛出异常。
7. NESTED:如果当前存在事务,则在嵌套事务内执行。嵌套事务可以独立提交或回滚,而不会影响外部事务。
通过使用这些不同的事务传播行为,可以在方法调用链中控制事务的行为和范围,以满足不同的业务需求。需要根据具体情况选择适合的传播行为。
阅读全文