PROPAGATION_REQUIRED--支持当前事务,如果当前没有事务,就新建一个事务。
这是最常见的选择。
PROPAGATION_SUPPORTS--支持当前事务,如果当前没有事务,就以非事务方式执
行。
PROPAGATION_MANDATORY--支持当前事务,如果当前没有事务,就抛出异常。
PROPAGATION_REQUIRES_NEW--新建事务,如果当前存在事务,把当前事务挂起。
PROPAGATION_NOT_SUPPORTED--以非事务方式执行操作,如果当前存在事务,就
把当前事务挂起。
PROPAGATION_NEVER--以非事务方式执行,如果当前存在事务,则抛出异常。
PROPAGATION_NESTED--如果当前存在事务,则在嵌套事务内执行。如果当前没有
事务,则进行与PROPAGATION_REQUIRED类似的操作。
如果出现<prop key="myMethod">PROPAGATION_REQUIRED,readOnly,-Exception
</prop>
其中:
-Exception表示有Exception抛出时,事务回滚. -代表回滚+就代表提交
readonly 就是read only, 设置操作权限为只读,一般用于查询的方法,优化作用
.
分享到:
相关推荐
-- 配置事务属性 --> <property name="transactionAttributes"> *">PROPAGATION_REQUIRED,-Exception ``` 在这个例子中,`userDao` Bean实际上就是一个代理对象,它包含了`userDaoTarget`的所有方法,并为...
在类上直接使用 @Transactional 注解,Spring 会创建基于类的代理,但是这种方式可能导致一些问题,例如:无法通过子类覆盖父类的方法来改变事务属性。 第五种方式:编程式事务管理 除了声明式事务管理,Spring 还...
事务属性(`transactionAttributes`)用于定义不同方法的事务传播行为,如`PROPAGATION_REQUIRED`、`PROPAGATION_MANDATORY`等。这种方法的缺点是配置繁琐,需要为每个业务类单独配置。 2. **通过基类配置事务** ...
在这种情况下,`@Transactional` 注解定义了事务属性,如传播行为和隔离级别。 3. **基于 XML 的声明式事务管理(XML-based Declarative Transaction Management)** 在 XML 配置文件中,你可以使用 `...
-- 配置事务属性 --> <property name="transactionAttributes"> *">PROPAGATION_REQUIRED,readOnly <!-- 指向目标Bean --> ``` 这里的`transactionAttributes`属性用于定义事务的传播行为和读写模式...
在Spring框架中,`transactionAttributes`是用于配置事务属性的重要元素,它定义了在特定方法上如何处理事务。这个配置通常在`TransactionProxyFactoryBean`或`@Transactional`注解中使用,以控制事务的传播行为、...
此外,还需要指定事务属性,即哪些方法应该在何种传播级别下执行事务。 ```xml <bean id="transactionInterceptor" class="org.springframework.transaction.interceptor.TransactionInterceptor"> ...
在深入探讨Spring事务管理配置之前,我们先简要回顾一下Spring框架的核心概念。Spring是一个开源的Java平台,它提供了一套全面的编程和配置模型,旨在简化企业级应用的开发。其中,事务管理是Spring框架中的一个重要...
在这里,`transactionAttributes`属性定义了不同方法名前缀下的事务传播行为和隔离级别。 2. **基于注解的AOP代理配置** Spring也支持使用@Transactional注解来声明事务边界。这种方式下,需要启用组件扫描并配置...
这种方式需要为每个事务Bean定义单独的事务属性。 ### 2. **基于AOP的切面配置** Spring AOP(面向切面编程)可以创建一个通用的事务处理切面,然后应用到多个Bean上,减少重复的事务配置。例如: ```xml (* ...
你可以通过`transactionAttributes`属性来配置具体的事务属性,比如传播行为、隔离级别、读写模式等。 2. **基于XML的TxNamespace** 使用Spring的`tx`命名空间,可以在XML配置文件中更简洁地声明事务。例如: ```...
2. **定义事务代理**:然后,我们创建一个TransactionProxyFactoryBean实例,指定目标对象(需要事务管理的业务对象)和事务属性。 ```xml <bean id="transactionalService" class="org.springframework.aop....
### Spring事务管理详解 在企业级应用开发中,事务处理是确保数据完整性和一致性的重要机制。Spring框架提供了灵活且强大的事务管理能力,支持多种事务配置方式,满足不同场景的需求。本文将深入探讨Spring中五种...
-- 可以添加事务属性,如 propagation, isolation, timeout, read-only --> <property name="transactionAttributes"> *">PROPAGATION_REQUIRED, -java.lang.Exception ``` 这种方式下,事务策略是通过在...
--配置事务属性--> <property name="transactionAttributes"> *">PROPAGATION_REQUIRED,-Exception ``` 这里的配置使用了`TransactionProxyFactoryBean`来创建事务代理。`transactionManager`指定了事务...
首先,Spring事务配置通常涉及三个关键组件: 1. **DataSource**: 数据源是连接到数据库的桥梁,用于获取数据库连接。在Spring中,可以通过`org.springframework.jdbc.datasource.DriverManagerDataSource`或`org....
#### 一、Spring事务管理概述 Spring框架为开发者提供了一套强大的事务管理机制,它简化了应用程序中的事务控制逻辑,使得开发人员能够更加专注于业务逻辑的编写,而不是繁琐的事务管理代码。Spring支持两种类型的...