1.前言。
在声明式的事务处理中,要配置一个切面,即一组方法,如
<tx:advice id="txAdvice" transaction-manager="txManager">
<tx:attributes>
<tx:method name="find*" read-only="true" propagation="NOT_SUPPORTED" />
</tx:attributes>
</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.注意.
这个配置将影响数据存储,必须根据情况选择。
分享到:
相关推荐
在Spring中,事务管理分为编程式和声明式两种。编程式事务管理需要在代码中显式地调用开始、提交、回滚等事务操作,而声明式事务管理则更简洁,通过配置或者注解即可实现,降低了代码的耦合度。 3. **声明式事务...
在这个名为"spring-nested-aop.zip"的压缩包中,包含了一个关于Spring AOP的嵌套事务处理的示例程序。这通常涉及到在一个事务方法内部调用另一个事务方法的情况,两个方法都需要在同一事务范围内运行,以便确保数据...
本篇将详细讲解Spring AOP如何进行事务配置,包括注解和非注解两种方式。 1. **注解方式的事务管理** - **@Transactional**:这是Spring提供的核心注解,用于标记在一个方法或类上开启事务。当被注解的方法执行时...
在Spring中,AOP主要是通过代理模式实现的,有JDK动态代理和CGLIB两种方式。 对于Spring事务管理,我们通常有两种方式:编程式和声明式。编程式事务管理需要在代码中显式地调用begin、commit、rollback等事务控制...
- **XML配置AOP**: 在XML配置文件中声明切面,包括定义切入点表达式和通知。例如,使用 `<aop:config>` 和 `<aop:advisor>` 标签。 - **注解驱动的AOP**: 使用`@Aspect`、`@Before`、`@After`等注解在类和方法级别...
本实例将深入探讨如何在Spring中使用AOP来实现声明式事务配置。 一、Spring AOP基础 AOP允许我们在程序运行时动态地将代码插入到其他对象中,它主要用来处理那些具有横切关注点的问题,如日志、异常处理和事务管理...
在Spring框架中,AOP(面向切面编程)被广泛用于事务管理,特别是与ORM(对象关系映射)框架如Hibernate结合使用时。本篇文章将深入探讨如何在Spring AOP中实现Hibernate事务管理,以及这一过程中的关键概念和技术...
Spring2.5和Hibernate3集成 采用声明式事务 1.声明式事务的配置 * 配置sessionFactory * 配置事务管理器 * 配置事务的传播特性 * 配置哪些类哪些方法使用事务 2.编写业务逻辑方法 * 继承...
在声明式事务管理中,我们还可以配置不同的事务传播行为,例如PROPAGATION_REQUIRED(默认,新事务或加入现有事务)、PROPAGATION_REQUIRES_NEW(总是开始新事务)、PROPAGATION_SUPPORTS(如果已有事务则加入,否则...
面向切面编程 (Aspect Oriented Programming, AOP) 是一种编程范式,旨在通过将横切关注点(如日志记录、安全控制、事务管理等)从业务逻辑中分离出来,提高系统的模块化程度。 #### AOP 在 Spring 中的实现 ...
Spring 3.0 提供了两种事务管理配置方法:基于 XML 的事务管理和基于 @Transactional 的事务管理,这两种方法都是为了实现事务管理的目标,分别具有不同的配置方式和优缺点。 基于 XML 的事务管理 这种方法不需要...
在Spring中,我们主要通过两种方式配置声明式事务:XML配置和注解配置。 1. XML配置:在`<tx:advice>`元素中定义事务行为,然后通过`<aop:config>`或`<aop:aspect>`将事务行为应用到特定的bean或方法上。例如: ```...
Spring AOP(面向切面编程)提供了一种声明式的方式来管理事务,让开发者无需在代码中显式处理事务。以下是如何实现: 1. **配置事务管理器**: 在Spring配置文件中定义`PlatformTransactionManager`,如`...
在Spring框架中,面向切面编程(AOP)是一种非常强大的技术,它允许开发者将横切关注点(如日志记录、安全性检查等)从业务逻辑中分离出来。本文旨在深入探讨Spring AOP中的两个核心概念:`Aspect`与`Advisor`的区别...
Spring AOP 是一种面向切面的编程实现,它是Spring框架的核心功能之一,用来解决传统面向对象编程(OOP)中难以管理的横切关注点问题。在Spring中,AOP主要通过代理机制实现,允许开发者将关注点分离,将通用的辅助...
总结一下,Spring的声明式事务管理通过AOP机制,使得开发者无需在业务代码中显式地开始和结束事务,而是通过配置决定哪些方法在事务中执行。这种方式极大地提高了代码的可读性和可维护性。在实际项目中,根据具体...
Spring 事务配置是Spring框架中不可或缺的部分,它用于管理和协调应用程序中的事务边界,确保数据的一致性和完整性。在Spring中,事务配置主要涉及到三个核心组件:DataSource、TransactionManager以及代理机制。...
4. **基于Java配置的事务管理**:Spring 4.0之后引入的一种配置方式,通过纯Java代码来配置事务管理器和其他组件,这种方式更加灵活,便于单元测试。 #### 五、小结 本文详细介绍了Spring事务配置的五种方式,并以...
Spring 框架提供了多种事务配置方式,这些配置方法主要基于Spring的AOP(面向切面编程)来实现事务管理。...同时,了解每种配置方式的原理和适用场景,可以帮助我们更好地设计和实现应用程序的事务管理。