`
kingmxj
  • 浏览: 182496 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Spring在TransactionDefinition接口中规定了7种类型的事务传播行为

阅读更多
Spring在TransactionDefinition接口中规定了7种类型的事务传播行为,

它们规定了事务方法和事务方法发生嵌套调用时事务如何进行传播:

表1事务传播行为类型

事务传播行为类型
说明

PROPAGATION_REQUIRED
如果当前没有事务,就新建一个事务,如果已经存在一个事务中,加入到这个事务中。这是最常见的选择。

PROPAGATION_SUPPORTS
支持当前事务,如果当前没有事务,就以非事务方式执行。

PROPAGATION_MANDATORY
使用当前的事务,如果当前没有事务,就抛出异常。

PROPAGATION_REQUIRES_NEW
新建事务,如果当前存在事务,把当前事务挂起。

PROPAGATION_NOT_SUPPORTED
以非事务方式执行操作,如果当前存在事务,就把当前事务挂起。

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

PROPAGATION_NESTED
如果当前存在事务,则在嵌套事务内执行。如果当前没有事务,则执行与PROPAGATION_REQUIRED类似的操作。

分享到:
评论

相关推荐

    Spring在Transaction事务传播行为种类

    Spring通过`TransactionDefinition`接口定义了七种不同的事务传播行为类型,每一种都有其特定的用途和场景。了解这些事务传播行为对于正确地配置和管理事务至关重要。 #### 三、事务传播行为类型详解 ##### 1. ...

    Spring中事务的传播属性详解

    在Spring中,这些行为可以通过`TransactionDefinition`接口中的常量来指定。具体来说,`TransactionDefinition`定义了以下七种传播行为: 1. **PROPAGATION_REQUIRED**:如果当前存在事务,则加入该事务;如果当前...

    Spring事务传播特性解析

    通过代码解析spring传播特性,包括 1、Propagation.REQUIRED 方法被调用时自动开启事务,在事务范围内使用则使用同一个事务,否则开启新事务。 2、Propagation.REQUIRES_NEW 无论何时自身都会开启事务 3、...

    Spring事务详细讲解

    Spring 在 TransactionDefinition 接口中定义这些属性,以供 PlatformTransactionManager 使用。PlatformTransactionManager 是 Spring 事务管理的核心接口。 TransactionDefinition 接口中定义了五个不同的方法: ...

    Spring事务传播属性

    TransactionDefinition接口是Spring事务管理的核心接口之一,它提供了定义事务特性的方法,包括事务的隔离级别、超时时间、读写模式以及我们关注的事务传播属性。事务传播属性定义了当一个事务方法被另一个事务方法...

    spring编程式事务与声明式事务详解

    在 Spring 中,事务是通过 TransactionDefinition 接口来定义的。该接口包含与事务属性有关的方法,包括: * getIsolationLevel():获取事务的隔离级别 * getPropagationBehavior():获取事务的传播行为 * get...

    spring事务传播

    Spring 在 `TransactionDefinition` 接口中定义了七种事务传播行为,每种行为都针对不同的业务场景提供了不同的事务管理策略。 1. **PROPAGATION_REQUIRED**: 这是最常见的事务传播行为,当一个被事务管理的方法...

    Spring框架+Spring中的事务

    在Spring框架中,`TransactionDefinition`接口定义了事务的属性,包括传播行为、隔离级别、超时时间以及是否为只读事务。这些属性共同决定了事务的行为特点。 - **getPropagationBehavior()**:返回事务的传播行为...

    spring事物管理

    Spring 提供了一种灵活的方式来管理和控制事务的边界,这主要体现在TransactionDefinition接口定义的7种事务传播行为上。 1. **PROPAGATION_REQUIRED**:这是最常用的传播行为,如果当前存在事务,那么加入到该事务...

    spring学习事务源码

    此外,Spring的事务传播行为(PROPAGATION_REQUIRED, PROPAGATION_REQUIRES_NEW等)是另一个重要概念,它定义了在一个事务中的方法如何启动新的事务或者加入到当前事务中。例如,PROPAGATION_REQUIRED表示如果当前...

    事务传播特性&事务隔离级别

    事务传播特性是指在 Java 中,事务的传播行为,即在多个事务之间如何交互和传播。Java 中有七种事务传播特性,分别是: 1. PROPAGATION_REQUIRED:如果存在一个事务,则支持当前事务。如果没有事务则开启新的事务。...

    Spring的声明式事务.doc

    在 Spring 中,事务是通过 TransactionDefinition 接口来定义的。该接口包含与事务属性有关的方法,包括: * getIsolationLevel():获取事务的隔离级别 * getPropagationBehavior():获取事务的传播行为 * get...

    spring几种事务配置详解【精】

    Spring支持七种事务传播行为: - `REQUIRED`:如果当前没有事务,就新建一个;如果已经存在一个事务,则加入到这个事务中。 - `SUPPORTS`:如果当前存在事务,就加入;如果没有事务,则不开启。 - `MANDATORY`:...

    spring基础学习介绍

    TransactionDefinition接口中规定的7种事务传播行为如下: 1. **PROPAGATION_REQUIRED**:这是最常用的行为,如果当前存在事务,那么方法将在该事务中执行;如果不存在,则会创建一个新的事务。 2. **PROPAGATION_...

    基于java的企业级应用开发:Spring事务管理概述.ppt

    在企业级应用开发中,Java 平台上的Spring框架提供了强大的事务管理机制,极大地简化了事务处理过程,降低了开发人员的负担。Spring的事务管理主要围绕三个核心接口展开:PlatformTransactionManager、...

    spring编程式事务与声明式事务详解[参照].pdf

    TransactionDefinition接口中的常量定义了以下几种行为: 1. PROPAGATION_REQUIRED:默认行为,如果已有事务则加入,否则新建一个。 2. PROPAGATION_REQUIRES_NEW:总是新建一个事务,即使外部有事务,也会暂停外部...

    全面分析 Spring 的编程式事务管理及声明式事务管理

    本文将全面分析Spring中的编程式事务管理和声明式事务管理,旨在帮助开发者深入理解这两种事务管理方式,并在实际项目中合理选择。 **编程式事务管理** 编程式事务管理是通过代码直接控制事务的开始、提交、回滚等...

    全面分析Spring的编程式事务管理与声明式事务管理.doc

    在 Spring 中,事务是通过 TransactionDefinition 接口来定义的。该接口包含与事务属性有关的方法,例如 getIsolationLevel、getPropagationBehavior、getTimeout、isReadOnly 等。这些方法用于获取事务的属性信息,...

    spring 的3种事务配置方式

    在Spring中,事务的传播行为包括`PROPAGATION_REQUIRED`(默认,必须在一个事务中运行)、`PROPAGATION_SUPPORTS`(如果存在事务,则加入,否则非事务运行)、`PROPAGATION_MANDATORY`(必须在一个存在的事务中运行...

Global site tag (gtag.js) - Google Analytics