阶段3 2.Spring_10.Spring中事务控制_10spring编程式事务控制2-了解

Posted wangjunwei

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了阶段3 2.Spring_10.Spring中事务控制_10spring编程式事务控制2-了解相关的知识,希望对你有一定的参考价值。

在业务层声明 transactionTemplate 并且声称一个set方法等着spring来注入
技术图片
在需要事物控制的地方执行 execute。但是这个execute需要一个参数
技术图片
需要的参数是TransactionCollback但是这个是一个接口。想用的话就需要找他它的实现类
技术图片
这里不找实现类,就写匿名内部类
技术图片
技术图片

技术图片
生成未实现的方法。生成的方法就叫做doInTransaction
技术图片
就可以把我们的主要代码挪进来
技术图片

技术图片

技术图片

技术图片

技术图片

技术图片

这样涉及到事务提交的地方。都需要代码加在transactionTemplate的execute方法里面。这样产生很多重复性的代码
技术图片
背离了AOP的思想。重复代码提取出来
技术图片
编程式的事务可以实现。但是由灵活变成 不灵活了。

技术图片
Service需要注入模板对象
技术图片

运行测试
技术图片
事务被控制住了
技术图片
注释异常
技术图片
转账也成功
技术图片

因为重复代码比较多,所以出厂的记录不高


 

以上是关于阶段3 2.Spring_10.Spring中事务控制_10spring编程式事务控制2-了解的主要内容,如果未能解决你的问题,请参考以下文章

阶段3 2.Spring_10.Spring中事务控制_5 spring事务控制的代码准备

阶段3 2.Spring_10.Spring中事务控制_9 spring编程式事务控制1-了解

阶段3 2.Spring_10.Spring中事务控制_7 spring基于注解的声明式事务控制

阶段3 2.Spring_10.Spring中事务控制_8 spring基于纯注解的声明式事务控制

阶段3 2.Spring_10.Spring中事务控制_11 spring5新特性的介绍

阶段3 2.Spring_07.银行转账案例_4 编写事务管理工具类并分析连接和线程解绑