Spring 事务中哪几种事务传播行为

2024-01-07 10:32:58 浏览数 (1)

有的时候博客内容会有变动,首发博客是最新的,其他博客地址可能会未同步,认准https://blog.zysicyj.top

Spring 事务传播行为

在Spring框架中,事务的传播行为定义了业务方法和事务的关系,特别是当一个业务方法在另一个事务性方法中被调用时。Spring支持7种不同的事务传播行为:

1. PROPAGATION_REQUIRED

「默认的传播行为」。如果当前存在事务,则加入该事务;如果当前没有事务,则创建一个新的事务。

2. PROPAGATION_SUPPORTS

如果当前存在事务,则加入该事务;如果当前没有事务,则以非事务方式执行。

3. PROPAGATION_MANDATORY

如果当前存在事务,则加入该事务;如果当前没有事务,则抛出异常。

4. PROPAGATION_REQUIRES_NEW

创建一个新的事务,并暂停外部的事务(如果有的话)。

5. PROPAGATION_NOT_SUPPORTED

以非事务方式执行操作,如果当前存在事务,则暂停当前事务。

6. PROPAGATION_NEVER

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

7. PROPAGATION_NESTED

如果当前存在事务,则执行一个嵌套的子事务;如果当前没有事务,则表现如PROPAGATION_REQUIRED

这些事务传播行为使得开发者可以精确地控制事务的边界和行为,在构建复杂的企业级应用时非常有用。每种行为的使用取决于特定的业务场景和需求。

本文由 mdnice 多平台发布

0 人点赞