`

Spring中的事物管理

阅读更多
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

    Spring事务管理的目的是确保数据的一致性和完整性,尤其是在多操作、多资源的环境中。本Demo将深入探讨Spring如何实现事务的管理。 首先,Spring提供了两种主要的事务管理方式:编程式事务管理和声明式事务管理。 ...

    spring 自定义事务管理器,编程式事务,声明式事务@Transactional使用

    在Spring框架中,事务管理是核心功能之一,它确保了数据操作的一致性和完整性。本教程将深入探讨如何在Spring中实现自定义事务管理器...这将加深你对Spring事务管理的理解,帮助你在实际项目中更加熟练地运用这些技术。

    实验 spring 声明事务

    实验 "Spring 声明事务" 是 Java 高级编程中的一个重要环节,旨在让学生掌握 Spring 框架中声明式事务管理的配置和使用。在实际应用中,事务管理是确保数据一致性、完整性和可靠性的关键组件。Spring 提供了声明式...

    深入理解spring的事务管理机制

    Spring事务管理的核心是基于AOP(面向切面编程)来实现的。 **Spring事务的本质**实际上是依赖于底层数据库提供的事务支持。如果没有数据库层面的支持,Spring无法单独实现事务的功能。在传统的JDBC操作中,如果想...

    Spring的事务管理小案例

    在本文中,我们将深入探讨Spring框架中的事务管理。Spring是一个广泛应用的Java企业级应用开发框架,它提供...如果你想要深入了解,可以参考提供的博客链接或其他相关资料,进一步学习Spring事务管理的细节和最佳实践。

    spring3.0两种事务管理配置

    Spring 中的事务管理可以分为两种:编程式事务管理和声明式事务管理。编程式事务管理是指通过编程的方式来管理事务,而声明式事务管理是指通过配置的方式来管理事务。 事务管理的隔离级别 Spring 中的事务管理提供...

    spring事务管理5种方法

    在IT行业中,Spring框架是Java企业级应用开发的首选,其强大的事务管理功能是它的一大亮点。本篇文章将深入探讨Spring事务管理的五种...在实际开发中,结合源码阅读和工具辅助,可以更深入地掌握Spring事务管理的精髓。

    spring_事务管理(实例代码)

    Spring事务管理就是围绕这些特性来确保数据的一致性。 四、事务的传播行为 在Spring中,我们可以配置事务的传播行为,比如REQUIRED(默认,如果当前存在事务,则加入当前事务,否则新建一个事务)、PROPAGATION_...

    Spring事务管理开发必备jar包

    本资源包提供了进行Spring事务管理开发所需的所有关键库,包括框架基础、核心组件、AOP(面向切面编程)支持、日志处理、编译工具以及与数据库交互的相关jar包。下面将对这些知识点进行详细解释: 1. **Spring框架*...

    spring hibernate 事务管理学习笔记(一)

    在实际开发中,理解这部分源码有助于我们更深入地掌握Spring事务管理的工作原理。 至于工具,开发者可以使用诸如IntelliJ IDEA这样的IDE,其中集成的调试工具可以帮助我们跟踪代码执行流程,查看事务状态的变化,...

    Spring中事务的传播属性详解

    Spring提供了两种事务管理方式:编程式事务管理和声明式事务管理。其中,声明式事务管理因其简洁性和易用性而更受欢迎。本文将详细介绍Spring中的事务传播属性,并通过具体的例子来解释每种传播行为的特点。 #### ...

    spring 事务管理的理解

    Spring 框架是Java开发中...理解并熟练掌握Spring事务管理,对于提升应用程序的稳定性和可靠性至关重要。在实际开发中,结合声明式事务管理、事务传播行为、隔离级别和回滚规则,可以有效地确保数据的完整性和一致性。

    spring JDBC事务管理

    标题中的“Spring JDBC事务管理”是指在Spring框架中如何利用JDBC进行数据库操作时的事务控制。Spring提供了多种方式来管理事务,使得开发者能够在复杂的业务逻辑中更好地控制数据的持久化过程,确保数据的一致性和...

    spring 注解事务管理

    Spring事务管理主要分为两种方式:编程式事务管理和声明式事务管理。编程式事务管理是通过编写代码来控制事务的开始、提交、回滚等操作,而声明式事务管理则是通过配置或注解来定义事务边界,更加直观和易于使用。 ...

    spring事务操作试验

    首先,Spring事务管理的核心概念是ACID(原子性、一致性、隔离性和持久性),这是所有事务系统的基础。在Spring中,事务管理分为两种模式:声明式事务管理和编程式事务管理。声明式事务管理通过配置元数据(如XML或...

    Spring事务管理的jar包

    这个版本的Spring事务管理支持JDBC、Hibernate、JPA、iBatis等多种数据访问技术,可以无缝集成到各种持久层框架中。 在Spring中,事务管理器(如DataSourceTransactionManager或HibernateTransactionManager)是...

    spring事务与数据库操作

    Spring框架提供了强大的事务管理能力,可以方便地集成到应用程序中。Spring支持两种类型的事务管理:编程式事务管理和声明式事务管理。其中声明式事务管理因其易于使用和维护而被广泛采用。 ##### 1.1 Spring声明式...

    Spring JDBC与事务管理

    3、了解Spring事务管理的3个核心接口; 4、了解Spring事务管理的两种方式; 5、掌握基于XML和Annotation的声明式事务管理的使用。 二.实验内容 (1)使用Spring JDBC实现书店的购书过程,即有如下一个BookShopDao接口...

Global site tag (gtag.js) - Google Analytics