spring的事务管理分为两种:
①编程式事务管理 ②声明式事务管理
编程式事务管理以及配置:
1.TransactionTempale采用和其他Spring模板,如JdbcTempalte和HibernateTemplate一样的方法。它使用回调方法,把应用程序从处理取得和释放资源中解脱出来。如同其他模板,TransactionTemplate是线程安全的。代码片段:
Object result = tt.execute(new TransactionCallback()...{
public Object doTransaction(TransactionStatus status)...{
updateOperation();
return resultOfUpdateOperation();
}
});
使用TransactionCallback()可以返回一个值。如果使用TransactionCallbackWithoutResult则没有返回值。
2.也可以使用PlatformTransactionManager直接管理事务。简单地通过一个bean引用给你的bean传递一个你使用的 PlatformTransaction对象。然后,使用TransactionDefinition和TransactionStatus对象就可以发起、回滚、提交事务。如下片段:
DefaultTransactionDefinition def= new DefaultTransactionDefinition(); //new 一个事务 def.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRED); // 初始化事务,参数定义事务的传播类型; TransactionStatus status = transactionManager.getTransaction(def); //获得事务状态 try...{ …………….. transactionManager.commit(status); //提交事务; }catch(…..)...{ transactionManager.rollback(status); //回滚事务; }
声明式事务管理以及配置:
声明式事务管理有2种常用的配置方法:XML方式,注解方式(annotation方式)
XML 方式:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
本内容试读结束,登录后可阅读更多
下载后可阅读完整内容,剩余4页未读,立即下载