【创建时间】2016/9/8
事务有这样一种特性,要么都执行,要么都不执行。
1.java项目事务处理
有这样一个业务场景,需要生成两个文件,这两个文件要么都生成出来,要么都不生成,我们做实现的时候,
可以在生成失败的时候,删除已经生成好的另一个文件,这就是事务的实现;
2.java web项目事务
在没有使用spring框架的web项目,事务是怎么实现的呢?
通过jdbc实现事务处理:
java通过jdbc和数据库实现交互,jdbc中,通过connection的一些方法进行事务处理。
Connection.commit();
Connection.rollback();
3.spring事务
实现:
spring支持编程式事务管理和声明式事务管理两种方式。
编程式事务管理使用TransactionTemplate或者直接使用底层的PlatformTransactionManager。对于编程式事务管理,spring推荐使用TransactionTemplate。
声明式事务管理建立在AOP之上的。其本质是对方法前后进行拦截,然后在目标方法开始之前创建或者加入一个事务,在执行完目标方法之后根据执行情况提交或者回滚事务。声明式事务最大的优点就是不需要通过编程的方式管理事务,这样就不需要在业务逻辑代码中掺杂事务管理的代码,只需在配置文件中做相关的事务规则声明(或通过基于@Transactional注解的方式),便可以将事务规则应用到业务逻辑中。
显然声明式事务管理要优于编程式事务管理,这正是spring倡导的非侵入式的开发方式。声明式事务管理使业务代码不受污染,一个普通的POJO对
事务有这样一种特性,要么都执行,要么都不执行。
1.java项目事务处理
有这样一个业务场景,需要生成两个文件,这两个文件要么都生成出来,要么都不生成,我们做实现的时候,
可以在生成失败的时候,删除已经生成好的另一个文件,这就是事务的实现;
2.java web项目事务
在没有使用spring框架的web项目,事务是怎么实现的呢?
通过jdbc实现事务处理:
java通过jdbc和数据库实现交互,jdbc中,通过connection的一些方法进行事务处理。
Connection.commit();
Connection.rollback();
3.spring事务
实现:
spring支持编程式事务管理和声明式事务管理两种方式。
编程式事务管理使用TransactionTemplate或者直接使用底层的PlatformTransactionManager。对于编程式事务管理,spring推荐使用TransactionTemplate。
声明式事务管理建立在AOP之上的。其本质是对方法前后进行拦截,然后在目标方法开始之前创建或者加入一个事务,在执行完目标方法之后根据执行情况提交或者回滚事务。声明式事务最大的优点就是不需要通过编程的方式管理事务,这样就不需要在业务逻辑代码中掺杂事务管理的代码,只需在配置文件中做相关的事务规则声明(或通过基于@Transactional注解的方式),便可以将事务规则应用到业务逻辑中。
显然声明式事务管理要优于编程式事务管理,这正是spring倡导的非侵入式的开发方式。声明式事务管理使业务代码不受污染,一个普通的POJO对