`
隐形的翅膀
  • 浏览: 498400 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Spring Transaction 二: 编程式式事务管理

阅读更多
编程式式事务管理

1. 使用PlatformTransactionManager

import org.springframework.transaction.PlatformTransactionManager;
import org.springframework.transaction.TransactionDefinition;
import org.springframework.transaction.TransactionStatus;
import org.springframework.transaction.support.DefaultTransactionDefinition;


public class Test4 {

	private PlatformTransactionManager transactionManager;
	
	public void setTransactionManager(PlatformTransactionManager stransactionManager){
		this.transactionManager=stransactionManager;
		
	}
	public void doUpdate() throws Throwable {
		// TODO Auto-generated method stub
		
		TransactionDefinition transactionDefinition=
			new DefaultTransactionDefinition(TransactionDefinition.PROPAGATION_REQUIRED);
		
		TransactionStatus transactionStatus=
			this.transactionManager.getTransaction(transactionDefinition);
		
		try{
			System.out.println("do some thing");
			this.transactionManager.commit(transactionStatus);
		}catch(Throwable t){
		    this.transactionManager.rollback(transactionStatus);
		    throw t;
		}
	}
}



2. 如果系统的几个地方都使用编程式事务管理, 使用事务的模板方式


import org.springframework.transaction.PlatformTransactionManager;
import org.springframework.transaction.TransactionDefinition;
import org.springframework.transaction.TransactionStatus;
import org.springframework.transaction.support.DefaultTransactionDefinition;
import org.springframework.transaction.support.TransactionCallbackWithoutResult;
import org.springframework.transaction.support.TransactionTemplate;


public class Test5 {
	
    private TransactionTemplate transactionTemplate;
	
	public void setTransactionManager(PlatformTransactionManager stransactionManager){
		this.transactionTemplate=new TransactionTemplate(stransactionManager);
		
	}
	public void doUpdate() throws Throwable {
		// TODO Auto-generated method stub
		
		this.transactionTemplate.execute(new TransactionCallbackWithoutResult(){
			protected void doInTransactionWithoutResult(TransactionStatus status){
				  System.out.println("do something");
			}
		});
		
	}

}


分享到:
评论

相关推荐

    springtransaction 事务管理

    在实际项目中,`springtransaction`工程可能是包含了一个完整的示例,用于演示如何在MyEclipse环境中配置和使用Spring的事务管理功能。开发者可以通过导入此工程,学习和实践Spring事务管理的配置与使用,从而更好地...

    Hibernate编程式事务与Spring Aop的声明式事务(spring与hibernate集成)

    本主题将深入探讨Hibernate的编程式事务管理和Spring AOP的声明式事务管理,以及两者如何在实际项目中集成使用。 **Hibernate编程式事务管理** Hibernate作为流行的ORM(对象关系映射)框架,提供了对JDBC事务的...

    spring学习笔记(十五)-编程式事务例子

    在本篇“Spring学习笔记(十五)——编程式事务例子”中,我们将深入探讨Spring框架中的编程式事务管理。在实际开发中,我们通常使用声明式事务管理,它基于AOP(面向切面编程)来简化事务处理。然而,有时为了更细...

    spring_tx编程式事务代码

    Spring提供了多种事务管理方式,其中编程式事务管理和声明式事务管理是两种主要的模式。编程式事务管理允许开发者通过代码来精确控制事务的边界,而`TransactionTemplate`就是Spring为编程式事务管理提供的一种便捷...

    spring编程式和声明式事务管理

    在Spring中,声明式事务管理是基于AOP(面向切面编程)实现的。我们只需要在方法上添加@Transactional注解,就可以让Spring自动进行事务管理。例如: ```java @Service public class UserService { @Transactional...

    springTransaction.rar

    这个名为"springTransaction.rar"的压缩包文件包含了一个关于Spring事务管理的小型示例,旨在演示如何使用Spring的事务传播机制来处理数据库操作,特别是转账功能的实现。 首先,让我们了解一下什么是事务。在...

    spring-transaction.jar.zip

    二、编程式事务管理 1. `PlatformTransactionManager`:这是Spring提供的事务管理器接口,具体实现包括JDBC的DataSourceTransactionManager、Hibernate的HibernateTransactionManager等。 2. `...

    spring事务管理5种方法

    Spring框架提供了对事务的声明式和编程式管理,以适应不同开发场景的需求。 1. 声明式事务管理: 声明式事务管理是Spring最常用的事务管理方式,它通过在配置文件或者注解中声明事务边界,将事务管理与业务代码...

    spring事务管理

    在Spring框架中,编程式事务管理主要通过`org.springframework.transaction.support.TransactionTemplate`或`org.springframework.transaction.PlatformTransactionManager`来实现。 **示例代码分析**: 首先,...

    spring声明式事务管理配置方式

    - 声明式事务管理背后的实现原理是基于Spring的AOP(面向切面编程),它会在方法执行前后应用事务增强,从而实现事务的自动管理。 在提供的链接中,博主可能详细解释了这些概念,并给出了实际的应用示例,包括如何...

    实验 spring 声明事务

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

    Spring编程式和声明式事务实例讲解小结

    本文主要介绍了Spring编程式和声明式事务实例讲解小结,涵盖了Spring事务管理的两种方式:编程式事务管理和声明式事务管理。编程式事务管理通过Transaction Template手动管理事务,而声明式事务管理则通过AOP实现。 ...

    spring_如何管理事务的

    #### 二、编程式事务管理 编程式事务管理允许开发人员通过编程的方式直接控制事务的开始、提交或回滚。这种方式相对灵活,但也存在一些缺点,如代码冗余、不易维护等问题。下面详细介绍编程式事务管理的关键概念和...

    Spring事务管理的jar包

    Spring事务管理分为编程式事务管理和声明式事务管理两种方式。编程式事务管理通过使用PlatformTransactionManager接口的begin、commit、rollback等方法直接控制事务的生命周期,这种方式灵活但容易导致代码过于繁琐...

    详解Spring学习之编程式事务管理

    详解Spring学习之编程式事务管理 Spring框架中提供了两种事务管理方式:编程式事务管理和声明式事务管理。在本篇文章中,我们主要介绍编程式事务管理。 什么是编程式事务管理? 编程式事务管理是指通过编写代码...

    spring声明式事务处理demo

    首先,我们要理解Spring事务管理的两种主要方式:编程式事务管理和声明式事务管理。编程式事务管理通常通过AOP(面向切面编程)的TransactionTemplate或PlatformTransactionManager接口直接在代码中控制事务,而声明...

    Spring 常用 Transaction Annotation

    本篇主要聚焦于"Spring 常用 Transaction Annotation",即声明式事务管理,这是一种更简洁、易于维护的事务控制方式。 首先,Spring的声明式事务管理基于AOP(面向切面编程),它允许我们在不修改业务代码的情况下...

    spring编程式事物

    Spring提供了两种事务管理方式:编程式事务管理和声明式事务管理。编程式事务管理是指在代码中显式地控制事务的开始、提交、回滚等操作,而声明式事务管理则是通过配置或注解来定义事务边界,更加简洁且易于维护。 ...

    spring声明式事务配置

    Spring框架提供了两种主要类型的事务管理方式:编程式事务管理和声明式事务管理。声明式事务管理通过XML配置或注解的形式定义事务边界,使得业务逻辑与事务控制分离。 ### 描述分析:XML配置示例 提供的XML配置...

Global site tag (gtag.js) - Google Analytics