Spring之事务控制
编程式事务控制相关对象
PlatformTransactionManager平台事务管理器(Interface)
内部封装控制事务的方式,根据不同技术要使用不同的平台,在使用前要在Spring里配置
管理事务就是成功时提交,失败时回滚,提交和回滚方法里的参数是TransactionStatus类型的status事务状态,而获取事务状态信息的函数是TransactionStatus类型的getTransaction,其参数TransactionDefination类型的defination
TransactionDefination事务定义对象
内部封装控制事务的参数信息,要在Spring里配置
分别是:默认级别,读未提交,读已提交(解决脏读),可重复读(解决不可重复度),串行化(解决全部问题,性能很低)
另外我们要通过配置的方式告诉Spring框架我们要使用哪个具体的事务平台管理器
TransactionStatus事务状态对象
内部封装不同时间点事务各状态的信息,无需配置,状态信息会被动改变
基于XML的声明式事务控制
什么是声明式事务控制
如何进行声明式事务控制(转账业务)
Account对象:
dao实现类:
service实现类:
当
时,如果没用事务存在,会导致转账业务转出方扣钱,转入方不会收到钱。因此我们引入AOP思想,以AccountService作为目标对象创造代理对象,内部的tarnsfer作为切点,通过增强的方式添加事务。
controller:
applicationContext:内部配置了IOC(包括jdbcTemplate),AOP,事务控制
通知 事务的增强,Spring已经提供,无需自己写,需要引入命名空间:含有tx的
中的