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的

中的


IOC:

平台事务管理器:

事务通知:

AOP:

基于注解:略

posted @ 2020-01-16 13:59  卯毛  阅读(166)  评论(0编辑  收藏  举报