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

Spring中PROPAGATION_REQUIRED的意思?

阅读更多

事务传播行为种类

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

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

表1事务传播行为类型

事务传播行为类型

说明

PROPAGATION_REQUIRED

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

PROPAGATION_SUPPORTS

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

PROPAGATION_MANDATORY

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

PROPAGATION_REQUIRES_NEW

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

PROPAGATION_NOT_SUPPORTED

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

PROPAGATION_NEVER

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

PROPAGATION_NESTED

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

分享到:
评论

相关推荐

    Spring中事务的传播属性详解

    ### Spring中事务的传播属性详解 #### 一、引言 在使用Spring框架进行应用程序开发时,事务管理是一项非常重要的特性。Spring提供了两种事务管理方式:编程式事务管理和声明式事务管理。其中,声明式事务管理因其...

    Spring_Hibernate使用TransactionInterceptor声明式事务配置.doc

    例如,在delete、add、update、save操作中,我们使用PROPAGATION_REQUIRED来确保事务的原子性。在find操作中,我们使用PROPAGATION_REQUIRED,readOnly来确保事务的只读性。 最后,我们需要定义一个代理bean,这个...

    spring事物管理

    这意味着,当你在一个已有的事务中调用一个PROPAGATION_REQUIRED的方法,这个方法将会成为当前事务的一部分,共享相同的事务上下文。 2. **PROPAGATION_SUPPORTS**:如果当前存在事务,那么就支持它,即在事务内部...

    Spring事务原理、Spring事务配置的五种方式

    Spring事务原理是指Spring框架中的一种机制,用于管理事务,并提供了多种配置方式。事务是指一系列的操作,作为一个整体执行,如果其中某个操作失败,整个事务将回滚。Spring事务原理围绕着两个核心:...

    spring基础学习介绍

    1. **PROPAGATION_REQUIRED**:这是最常用的行为,如果当前存在事务,那么方法将在该事务中执行;如果不存在,则会创建一个新的事务。 2. **PROPAGATION_SUPPORTS**:如果当前存在事务,那么方法会在事务环境下执行...

    spring事务Propagation及其实现原理详解

    在Spring框架中,事务Propagation(事务传播)是一种机制,用于控制事务的行为和传播方式。事务Propagation是Spring的事务管理机制中的一部分,用于定义事务的执行和传播规则。 Spring的事务Propagation机制可以...

    Spring事务传播Demo.zip

    例如,一个PROPAGATION_REQUIRED的方法调用了一个PROPAGATION_REQUIRES_NEW的方法,那么第二个方法将在新的独立事务中执行,即使第一个方法已经在一个事务中。 SSH,通常指的是Spring、Struts和Hibernate三个开源...

    Spring在Transaction事务传播行为种类

    ### Spring中的Transaction事务传播行为种类详解 #### 一、引言 在开发基于Spring框架的应用程序时,事务管理是确保数据一致性的重要手段之一。Spring框架提供了丰富的事务管理功能,其中包括了事务传播行为...

    spring2.0声明式事务

    在 Spring 中,事务传播行为是通过 `PROPAGATION_` 前缀的常量来定义的,不同的传播行为会影响事务的执行方式。以下是常见的几种传播行为: - **PROPAGATION_REQUIRED**:如果当前存在事务,则加入该事务;如果当前...

    spring 事务传播 demo

    在Spring框架中,事务管理是核心特性之一,它允许开发者以声明式或编程式的方式处理事务。本示例“spring 事务传播 demo”将聚焦于Spring的事务传播行为,这是在多个方法调用中控制事务边界的关键概念。下面我们将...

    Spring事务传播属性

    在Spring框架中,事务管理是核心特性之一,它允许开发者以声明式的方式处理数据库事务,确保数据的一致性和完整性。Spring事务传播属性是这一机制的关键组成部分,它定义了在一个事务方法被另一个事务方法调用时,...

    Spring事务五种不同的代理配置

    在 Spring 中,我们可以选择使用基于 XML 的 AOP 配置或基于注解的 AOP 配置。基于 AspectJ 的 AOP 代理方式可以让我们在类或方法上直接使用 @Transactional 注解来声明事务。 第三种方式:基于接口的代理 在这种...

    spring 事务传播

    例如,假设`ServiceA.methodA()`的事务传播行为被设置为`PROPAGATION_REQUIRED`,当它调用`ServiceB.methodB()`时(假设`methodB`同样设置了`PROPAGATION_REQUIRED`),如果`methodA`已经处于一个事务中,那么`...

    spring声明事务的配置

    例如,对于只读操作,你可以设置`PROPAGATION_REQUIRED,readOnly`,这样所有以特定前缀(如`find*`、`get*`等)的方法都会在一个只读事务中执行。这种方式减少了重复配置,提高了效率。 3. **事务传播行为** - `...

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

    例如,`PROPAGATION_REQUIRED` 表示如果当前存在事务,则加入到当前事务中;如果不存在,则新建一个事务。其他的传播行为还有 `PROPAGATION_SUPPORTS`、`PROPAGATION_MANDATORY`、`PROPAGATION_REQUIRES_NEW`、`...

    Spring事务传播原理及数据库事务操作原理.rar

    Spring定义了七种事务传播行为:PROPAGATION_REQUIRED、PROPAGATION_SUPPORTS、PROPAGATION_MANDATORY、PROPAGATION_REQUIRES_NEW、PROPAGATION_NOT_SUPPORTED、PROPAGATION_NEVER和PROPAGATION_NESTED。每种行为都...

    S详细讲解SH中Spring事务流程.docx

    - `PROPAGATION_NESTED`:如果当前存在事务,则在一个嵌套事务中运行,否则行为类似`PROPAGATION_REQUIRED`。 6. **事务的隔离级别**: 除了传播行为外,事务还涉及隔离级别,如`ISOLATION_DEFAULT`、`ISOLATION_...

    Spring事务之7种传播行1

    在Spring框架中,事务管理是其核心特性之一,它使得开发者能够在应用程序中实现数据库操作的事务一致性。事务传播行为是指在一个事务方法被另一个事务方法调用时,如何处理这两个方法之间的事务关系。Spring定义了七...

    这一次搞懂Spring事务是如何传播的

    在Spring中,`@Transactional`注解用于标记事务方法,并通过其`propagation`属性来指定事务的传播行为。例如: ```java @Transactional(propagation = Propagation.REQUIRED) public void serviceMethod() { // .....

Global site tag (gtag.js) - Google Analytics