1.Spring中用硬编码的方式进行事物管理
在需要应用事物的类中引入
private TransactionTemplate transactionTemplate;
public TransactionTemplate getTransactionTemplate() {
return transactionTemplate;
}
public void setTransactionManager(PlatformTransactionManager transactionManger) {
this.transactionTemplate = new TransactionTemplate(transactionManger);
}
spring的配置文件:
<!-- 当为jdbc时 -->
<bean id="JtransactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource" />
</bean>
<!--当为hibernate时 -->
<bean id="HtransactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="dataSource" ref="dataSource" />
<property name="sessionFactory" ref="sessionFactory" />
</bean>
<!-- 在需要事物管理的地方注入transactionManager -->
<bean id="service" class="com.ozzzo.test.service.TestService">
<property name="transactionManager">
<ref bean="transactionManager"/>
</property>
<property name="dao">
<ref bean="testDAO"/>
</property>
</bean>
在方法中调用:
transactionTemplate.execute(new TransactionCallback(){
public Object doInTransaction(TransactionStatus arg0) {
try{
//业务代码
}catch (Exception e) {
arg0.setRollbackOnly();
}
return null;
}
});
2.通过配置文件管理事务
<!-- 配置式事物管理 -->
<bean id="proxyTest" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
<property name="transactionManager">
<ref bean="transactionManager"/>
</property>
<property name="target"> <!-- 目标对象,需要引入事物管理的类 -->
<ref bean="service"/>
</property>
<property name="proxyTargetClass" value="true"></property>
<property name="transactionAttributes">
<props> <!-- 类中需要引入事物管理的方法 -->
<prop key="add*">PROPAGATION_REQUIRED</prop> <!-- 事物级别 -->
</props>
</property>
</bean>
在需要调用service的地方 用proxyTest替换.即可引入事物
分享到:
相关推荐
Spring事务管理Demo
本代码使用H2内存数据库演示spring事务使用,包括编程式事务,声明式事务@Transactional使用,自定义事务事务注解实现自定义事务管理器
Java高级编程 实验报告 spring 声明事务 实验目的 掌握spring 声明式事务管理配置 实验环境 本实验采用本实验采用的eclipse或者 Myeclpse开发工具。Spring 4.0以上 Jdk1.7以上、oracle/mysql。
Spring事务管理教程,详细讲解了Spring中的事务管理,包括声明式事务,注解式事务,以及事务配置等等
3、了解Spring事务管理的3个核心接口; 4、了解Spring事务管理的两种方式; 5、掌握基于XML和Annotation的声明式事务管理的使用。 二.实验内容 (1)使用Spring JDBC实现书店的购书过程,即有如下一个BookShopDao接口...
主要给大家介绍了关于Spring中事务管理的四种方法,文中是以银行转账为例,通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
spring的事务管理配置详解.txt详细的描述了如何配置spring的事物。
【免费】深入描述spring的事务处理机制,很不错的资源。
Spring事务管理.pdf 1.资料 2.本地事务与分布式事务 3.编程式模型 4.宣告式模型
自己做的一个小案例,spring 的事务管理小案例,你也可以去以下链接看文章讲解https://blog.csdn.net/zyqblog/article/details/82624441
关于spring_事务管理的一个实例,代码,全的!可以下载学习学习
spring 事务管理的理解
spring3.0两种事务管理配置
spring事务管理 配置文件等详解
spring-tx spring-transaction spring事务管理实例
Synchronized锁在Spring事务管理下,导致线程不安全。
Spring的事务框架将开发过程中事务管理相关的关注点进行适当的分离,并对这些关注点进行合 理的抽象,最终打造了一套使用方便,却功能强大的事务管理“利器”。通过Spring的事务框架,我 们可以按照统一的编程模型来...
在Spring中使用JTA事务管理 1 通过集成JOTM,直接在Spring中使用JTA事务 1.1. 将JOTM以下类库添加到类路径中 1.2. 编写JOTM配置文件,放到类路径下 1.3. 在MySQL上建立两个数据库 1.4. 在Spring配置文件中配置JOTM ...
Spring事务管理(全),需要的可下载!
spring 的事务管理