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, 设置操作权限为只读,一般用于查询的方法,优化作用.
分享到:
相关推荐
在Spring框架中,`transactionAttributes`是用于配置事务属性的重要元素,它定义了在特定方法上如何处理事务。这个配置通常在`TransactionProxyFactoryBean`或`@Transactional`注解中使用,以控制事务的传播行为、...
<property name="transactionAttributes"> *">PROPAGATION_REQUIRED, -Exception ``` 这里,`myServiceImpl`是实际的业务类,`myService`则是其事务管理的代理。 6. **异常处理**:Struts2和Spring结合...
<property name="transactionAttributes"> <props> *">PROPAGATION_REQUIRED</prop> *">PROPAGATION_REQUIRED</prop> *">PROPAGATION_REQUIRED,readOnly</prop> </props> </property> 围绕Poxy的...
### Spring配置的5种方式详解 #### 一、引言 在Java开发领域,特别是针对企业级应用,Spring框架作为一款轻量级的容器管理工具,不仅提供了强大的依赖注入功能,还支持多种事务管理策略。Struts2+Spring+Hibernate...
事务属性(`transactionAttributes`)用于定义不同方法的事务传播行为,如`PROPAGATION_REQUIRED`、`PROPAGATION_MANDATORY`等。这种方法的缺点是配置繁琐,需要为每个业务类单独配置。 2. **通过基类配置事务** ...
<property name="transactionAttributes"> *">PROPAGATION_REQUIRED,readOnly <!-- 更多方法及其事务属性配置 --> ``` 2. **基于注解的事务管理(Annotation-based Transaction Management)** - 开启...
### Spring事务配置的五种方式详解 #### 一、引言 在企业级应用开发中,事务处理是非常重要的一部分,特别是在涉及多个数据库操作时。Spring框架提供了强大的事务管理功能,支持编程式和声明式两种事务处理方式。...
在Spring框架中,事务管理是核心功能之一,它允许开发者以声明式或编程式的方式处理应用中的事务。本文将深入探讨如何基于AOP(面向切面编程)来实现Spring的事务管理,特别是通过TransactionProxyFactoryBean。让...
<property name="transactionAttributes"> *">PROPAGATION_REQUIRED *">PROPAGATION_REQUIRED *">PROPAGATION_REQUIRED *">PROPAGATION_SUPPORTS,readOnly *">PROPAGATION_SUPPORTS,readOnly <!-- 更多的...
<property name="transactionAttributes"> *.*">PROPAGATION_REQUIRED,-Exception <!-- 应用事务拦截器到目标服务 --> (* com.example.service.*.*(..))"/> ``` ##### 2. 注解方式 使用注解方式...
<property name="transactionAttributes"> *">PROPAGATION_REQUIRED ``` ### 第一种方式详解:每个Bean都有一个代理 这种方式通过为每个需要事务支持的Bean配置一个TransactionProxyFactoryBean来实现...
Spring框架在处理事务时提供了五种不同的配置方式,这些配置主要涉及到事务的声明式管理和编程式管理。在Spring中,事务管理通常分为三部分:DataSource、TransactionManager和代理机制。DataSource是数据源,...
<property name="transactionAttributes"> get* = PROPAGATION_REQUIRED,readOnly (* com.example.service.*.*(..))"/> ``` - 这个例子展示了如何定义一个事务顾问`txAdvice`,并通过`...
<property name="transactionAttributes"> *">PROPAGATION_REQUIRED,readOnly *">PROPAGATION_REQUIRED *">PROPAGATION_REQUIRED *">PROPAGATION_REQUIRED,readOnly 第二种方式:基于 AspectJ 的 AOP ...
### Hibernate与Spring集成配置详解 #### 一、概述 在现代Java企业级应用开发中,Hibernate作为一款流行的ORM(对象关系映射)框架,能够极大简化数据库操作;而Spring作为一个全面的企业级应用开发框架,提供了...
<property name="transactionAttributes"> *">PROPAGATION_REQUIRED,readOnly *">PROPAGATION_REQUIRED,readOnly *">PROPAGATION_REQUIRED,readOnly *">PROPAGATION_REQUIRED,readOnly *">PROPAGATION_...
Spring 事务管理是其核心特性之一,用于确保在执行数据库操作时的一致性和可靠性。它提供了五种不同的配置方式来适应不同的应用场景。以下是对这些配置方式的详细解释: 1. **基于代理的事务管理(Proxy-based ...
### Spring的事务属性(transactionAttributes) - **事务隔离级别**:事务隔离级别定义了事务之间如何隔离,以防止数据不一致性问题。Spring支持四种隔离级别:READ_UNCOMMITTED、READ_COMMITTED、REPEATABLE_READ...
### Spring 1.2 的 JDBC 配置详解 在 Spring 框架 1.2 版本中,对 JDBC 的支持已经相当成熟,并且提供了非常便捷的方式来管理和配置数据库访问。下面将根据提供的 XML 配置文件来详细介绍 Spring 1.2 中如何配置 ...
<property name="transactionAttributes"> *">PROPAGATION_REQUIRED ``` 在此示例中,`UserDao` Bean通过`TransactionProxyFactoryBean`获得了一个事务代理。这种方式下,`UserDao`的所有方法都将受到事务...