`

spring aop中的propagation的7种配置的意思

 
阅读更多

1.前言。 
在声明式的事务处理中,要配置一个切面,即一组方法,如

Java代码  收藏代码
  1. <tx:advice id="txAdvice" transaction-manager="txManager">  
  2.     <tx:attributes>  
  3.         <tx:method name="find*" read-only="true" propagation="NOT_SUPPORTED" />  
  4.     </tx:attributes>  
  5. </tx:advice>  


其中就用到了propagation,表示打算对这些方法怎么使用事务,是用还是不用,其中propagation有七种配置,REQUIRED、SUPPORTS、MANDATORY、REQUIRES_NEW、NOT_SUPPORTED、NEVER、NESTED。默认是REQUIRED。 
2.七种配置的意思 
下面是Spring中Propagation类的事务属性详解: 

REQUIRED:支持当前事务,如果当前没有事务,就新建一个事务。这是最常见的选择。 

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

MANDATORY:支持当前事务,如果当前没有事务,就抛出异常。 

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

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

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

NESTED:支持当前事务,如果当前事务存在,则执行一个嵌套事务,如果当前没有事务,就新建一个事务。 
3.注意. 
这个配置将影响数据存储,必须根据情况选择。 

分享到:
评论

相关推荐

    java springAOP 事务+注释

    在Spring中,事务管理分为编程式和声明式两种。编程式事务管理需要在代码中显式地调用开始、提交、回滚等事务操作,而声明式事务管理则更简洁,通过配置或者注解即可实现,降低了代码的耦合度。 3. **声明式事务...

    spring-nested-aop.zip_aop_spring aop

    在这个名为"spring-nested-aop.zip"的压缩包中,包含了一个关于Spring AOP的嵌套事务处理的示例程序。这通常涉及到在一个事务方法内部调用另一个事务方法的情况,两个方法都需要在同一事务范围内运行,以便确保数据...

    springAop事务配置

    本篇将详细讲解Spring AOP如何进行事务配置,包括注解和非注解两种方式。 1. **注解方式的事务管理** - **@Transactional**:这是Spring提供的核心注解,用于标记在一个方法或类上开启事务。当被注解的方法执行时...

    spring基于AOP实现事务

    在Spring中,AOP主要是通过代理模式实现的,有JDK动态代理和CGLIB两种方式。 对于Spring事务管理,我们通常有两种方式:编程式和声明式。编程式事务管理需要在代码中显式地调用begin、commit、rollback等事务控制...

    Spring AOP源码笔记

    - **XML配置AOP**: 在XML配置文件中声明切面,包括定义切入点表达式和通知。例如,使用 `&lt;aop:config&gt;` 和 `&lt;aop:advisor&gt;` 标签。 - **注解驱动的AOP**: 使用`@Aspect`、`@Before`、`@After`等注解在类和方法级别...

    Spring ax/aop声明式事务配置实例

    本实例将深入探讨如何在Spring中使用AOP来实现声明式事务配置。 一、Spring AOP基础 AOP允许我们在程序运行时动态地将代码插入到其他对象中,它主要用来处理那些具有横切关注点的问题,如日志、异常处理和事务管理...

    Spring AOP管理Hibernate事务(TransactionInSpringAOP)

    在Spring框架中,AOP(面向切面编程)被广泛用于事务管理,特别是与ORM(对象关系映射)框架如Hibernate结合使用时。本篇文章将深入探讨如何在Spring AOP中实现Hibernate事务管理,以及这一过程中的关键概念和技术...

    Spring2.5和Hibernate3集成--学习spring aop ioc

    Spring2.5和Hibernate3集成 采用声明式事务 1.声明式事务的配置 * 配置sessionFactory * 配置事务管理器 * 配置事务的传播特性 * 配置哪些类哪些方法使用事务 2.编写业务逻辑方法 * 继承...

    spring AOP(声明式事务管理)小程序

    在声明式事务管理中,我们还可以配置不同的事务传播行为,例如PROPAGATION_REQUIRED(默认,新事务或加入现有事务)、PROPAGATION_REQUIRES_NEW(总是开始新事务)、PROPAGATION_SUPPORTS(如果已有事务则加入,否则...

    spring隔离级别和aop基础.md

    面向切面编程 (Aspect Oriented Programming, AOP) 是一种编程范式,旨在通过将横切关注点(如日志记录、安全控制、事务管理等)从业务逻辑中分离出来,提高系统的模块化程度。 #### AOP 在 Spring 中的实现 ...

    spring3.0两种事务管理配置

    Spring 3.0 提供了两种事务管理配置方法:基于 XML 的事务管理和基于 @Transactional 的事务管理,这两种方法都是为了实现事务管理的目标,分别具有不同的配置方式和优缺点。 基于 XML 的事务管理 这种方法不需要...

    使用Spring的声明式事务----AOP方式

    在Spring中,我们主要通过两种方式配置声明式事务:XML配置和注解配置。 1. XML配置:在`&lt;tx:advice&gt;`元素中定义事务行为,然后通过`&lt;aop:config&gt;`或`&lt;aop:aspect&gt;`将事务行为应用到特定的bean或方法上。例如: ```...

    Hibernate编程式事务与Spring Aop的声明式事务(spring与hibernate集成)

    Spring AOP(面向切面编程)提供了一种声明式的方式来管理事务,让开发者无需在代码中显式处理事务。以下是如何实现: 1. **配置事务管理器**: 在Spring配置文件中定义`PlatformTransactionManager`,如`...

    SPRING:aspect和advisor区别

    在Spring框架中,面向切面编程(AOP)是一种非常强大的技术,它允许开发者将横切关注点(如日志记录、安全性检查等)从业务逻辑中分离出来。本文旨在深入探讨Spring AOP中的两个核心概念:`Aspect`与`Advisor`的区别...

    面向切面编程aop简介

    Spring AOP 是一种面向切面的编程实现,它是Spring框架的核心功能之一,用来解决传统面向对象编程(OOP)中难以管理的横切关注点问题。在Spring中,AOP主要通过代理机制实现,允许开发者将关注点分离,将通用的辅助...

    spring中事物配置

    总结一下,Spring的声明式事务管理通过AOP机制,使得开发者无需在业务代码中显式地开始和结束事务,而是通过配置决定哪些方法在事务中执行。这种方式极大地提高了代码的可读性和可维护性。在实际项目中,根据具体...

    Spring事务配置的五种方式

    Spring 事务配置是Spring框架中不可或缺的部分,它用于管理和协调应用程序中的事务边界,确保数据的一致性和完整性。在Spring中,事务配置主要涉及到三个核心组件:DataSource、TransactionManager以及代理机制。...

    spring事务配置的五种方式

    4. **基于Java配置的事务管理**:Spring 4.0之后引入的一种配置方式,通过纯Java代码来配置事务管理器和其他组件,这种方式更加灵活,便于单元测试。 #### 五、小结 本文详细介绍了Spring事务配置的五种方式,并以...

    spring的5中事物配置 介绍spring的5中事物配置

    Spring 框架提供了多种事务配置方式,这些配置方法主要基于Spring的AOP(面向切面编程)来实现事务管理。...同时,了解每种配置方式的原理和适用场景,可以帮助我们更好地设计和实现应用程序的事务管理。

Global site tag (gtag.js) - Google Analytics