Spring配置事务主要有这2种方式。
1、配置一个Spring提供的一个工厂类,然后将需要进行事务管理的bean放入工厂bean中进行委托代理。
<bean id="companyDAOProxy" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
<property name="transactionManager">
<ref bean="transactionManager" />
</property>
<property name="target">
<ref local="companyDAOTarget" />
</property>
<property name="transactionAttributes">
<props>
<prop key="insert*">PROPAGATION_REQUIRED</prop>
<prop key="delete*">PROPAGATION_REQUIRED</prop>
<prop key="find*">
PROPAGATION_REQUIRED,readOnly
</prop>
</props>
</property>
</bean>
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource">
<ref local="dataSource" />
</property>
</bean>
2、采用AOP方式进行事务配置,注意在配置文件中要注明AOP schema的地址。
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource">
<ref local="dataSource" />
</property>
</bean>
<aop:config>
<aop:pointcut id="serviceMethods" expression="execution(* com.business.impl..*Service*.*(..))" />
<aop:advisor pointcut-ref="serviceMethods" advice-ref="txAdvice" />
</aop:config>
<tx:advice id="txAdvice" transaction-manager="transactionManager">
<tx:attributes>
<tx:method name="get*" propagation="SUPPORTS" read-only="true" />
<tx:method name="load*" propagation="SUPPORTS" read-only="true" />
</tx:attributes>
</tx:advice>
分享到:
相关推荐
1. 配置事务管理器:在Spring的XML配置文件中,根据数据库类型(如JDBC、Hibernate、MyBatis等)配置相应的事务管理器。 2. 开启事务:使用`@Transactional`注解标记需要在事务中执行的方法。 3. 业务逻辑:在事务中...
编程式事务管理是指通过编程的方式来管理事务,而声明式事务管理是指通过配置的方式来管理事务。 事务管理的隔离级别 Spring 中的事务管理提供了多种隔离级别,包括: * ISOLATION_DEFAULT:使用数据库的默认隔离...
同时,Spring还提供了编程式事务管理,允许开发者在代码中手动管理事务,但这种方式通常在更复杂的场景或特殊需求下使用。 通过这个实验,学生可以深入理解Spring声明式事务管理的工作原理,以及如何在实际项目中...
**声明式事务管理** 是通过在方法上添加`@Transactional`注解,让Spring自动管理事务。这种方式更加简洁,降低了代码的复杂性。`@Transactional`可以设置不同的属性,如`propagation`(传播行为)、`isolation`...
spring的事务管理配置详解.txt详细的描述了如何配置spring的事物。
以下是对Spring声明式事务配置的详细说明: 1. **Spring 1.x 声明事务方式** 在Spring 1.x中,声明式事务有两种主要的配置方式,第一种是通过XML配置逐个为每个业务类创建事务代理。首先,你需要声明一个事务管理...
本篇文章将深入探讨如何在Spring中配置JTA事务管理,以实现跨数据库和资源的事务一致性。 首先,让我们了解JTA的基本概念。JTA是一个规范,它定义了接口和API,使得应用程序可以控制跨越多个数据存储(如数据库、...
1. **基于XML的全局事务配置**:这种方式通过在Spring配置文件中设置`<tx:advice>`和`<aop:config>`元素来实现事务管理。相比于第一种方式,这种方式更加简洁,适用于所有业务逻辑Bean。 2. **基于注解的事务配置**...
Spring声明式事务配置管理方法
案例中的"springStudy04_transaction"可能包含了一个使用Spring进行事务管理的简单应用程序,其中可能包括了数据库连接配置、数据访问对象(DAO)的实现以及事务控制的代码。你可以通过阅读源代码来了解如何在实际...
在上面的配置文件中,我们可以看到 `<bean>` 元素用于定义一个名为 "sgis.sdk.transactionManager" 的事务管理器,该管理器使用数据源连接池来管理事务。 Context 文件配置: Context 文件是 Spring AOP 的核心...
编程式事务管理通过TransactionTemplate或直接调用PlatformTransactionManager接口的方法来管理事务,而声明式事务管理则通过在配置文件或注解中定义事务规则,让Spring自动处理事务开始、提交、回滚等操作。...
3. **注入事务配置**:在代理对象中注入事务相关的配置,如事务的传播行为、隔离级别等。 4. **事务处理**:在调用被代理的方法时,Spring会自动处理事务的开启、提交或回滚。 #### 二、Spring事务的传播属性 ...
Spring 提供了PlatformTransactionManager接口,如DataSourceTransactionManager和JtaTransactionManager,用于管理事务。开发人员可以通过TransactionTemplate或直接使用TransactionStatus接口来控制事务的生命周期...
在需要事务控制的方法上添加这个注解,Spring会自动管理事务的开始、提交、回滚等操作。 2. 编程式事务管理: 编程式事务管理则是在代码中直接控制事务的开始、提交、回滚等操作,通常通过TransactionTemplate或...
- **配置事务管理器**:接下来,需要配置一个事务管理器(如`DataSourceTransactionManager`),它负责管理事务的开始、提交和回滚。 - **配置事务规则**:最后,需要配置事务规则,指定哪些方法需要在事务中执行。 ...
声明式事务管理是Spring的一个强大特性,它允许开发者在配置文件或注解中声明事务边界,将事务管理与业务逻辑分离。Spring提供了基于XML配置和基于注解的两种声明式事务管理方式。 1. 基于XML的声明式事务管理:在...
### Spring如何管理事务 #### 一、Spring事务管理概述 Spring框架为开发者提供了一套强大的事务管理机制,它简化了应用程序中的事务控制逻辑,使得开发人员能够更加专注于业务逻辑的编写,而不是繁琐的事务管理...