欢迎来到天天文库
浏览记录
ID:35478291
大小:57.20 KB
页数:7页
时间:2019-03-25
《spring事务管理全解析》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、spring事务管理全解析事务是一组原子(Atomic)操作的工作单元,以数据库存取的实例来说,就是一组SQL指令,这-•组SQL指令必须全部执行成功,若因为某个原因未全部执行成功(例如其中一行SQL有错误),则先前所有执行过的SQL指令都会被撤消。JDBC是如何控制事务的try...{•••••connection.setAutoCommit(false);//一连串SQL操作connection.commit));}catch(SQLException)••・{//发生错误,撤消所有变更connection.rollbac
2、k。;}Spring是把JDBC事务管理进來了封装,Spring事务管理的抽象关键在于org.springframework.transaction.PlatformTransactionManager接口里面有commit和rollbackpublicinterfacePlatformTransactionManager••・{TransactionStatusgetTransaction(TransactionDefinitiondefinition)throwsTransactionException;voidcommi
3、t(TransactionStatusstatus)throwsTransactionException;voidrollback(TransactionStatusstatus)throwsTransactionException;}TransactionDefinition接口的实例定义了事务的隔离程度(Isolationlevel)传播行为(Propagationbehavior)超时(Timeout)只读(Read-only)等DataSourceTransactionManager、HibernateTransact
4、ionManager、JdoTransaction・Manager、JtaTransactionManager等是实现了该接口Spring提供编程式的事务管理(Programmatictransactionmanagement)与声明式的事务管理(Declarativetransactionmanagement):1、编程式的事务管理可以清楚地控制事务的边界,也就是让您自行实现事务开始时间、撤消操作的时机、结束时间等,可以实现细粒度的事务控制。2、然而多数的情况下,事务并不需要细粒度的控制,而是采用声明式的事务管理,好处是Sp
5、ring事务管理的相关API可以不用介入程序之中,从对象的角度来看,它并不知道自己正被纳入事务管理之中,在不需要事务管理的时候,只要在设置文件上修改一下设置,即可移去事务管理服务。声明式的事务管理举例以DataSource,mysql举例6、"com.mysql.jdbc.Driver"/>7、anager">8、ean”>onlyfun.caterpillar.lUserDAO
6、"com.mysql.jdbc.Driver"/>7、anager">8、ean”>onlyfun.caterpillar.lUserDAO
7、anager">8、ean”>onlyfun.caterpillar.lUserDAO
8、ean”>onlyfun.caterpillar.lUserDAO
此文档下载收益归作者所有