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

在业务层声明 transactionTemplate 并且声称一个set方法等着spring来注入

在需要事物控制的地方执行 execute。但是这个execute需要一个参数

需要的参数是TransactionCollback但是这个是一个接口。想用的话就需要找他它的实现类

这里不找实现类,就写匿名内部类




生成未实现的方法。生成的方法就叫做doInTransaction

就可以把我们的主要代码挪进来












这样涉及到事务提交的地方。都需要代码加在transactionTemplate的execute方法里面。这样产生很多重复性的代码

背离了AOP的思想。重复代码提取出来

编程式的事务可以实现。但是由灵活变成 不灵活了。


Service需要注入模板对象


运行测试

事务被控制住了

注释异常

转账也成功

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


 

原文地址:https://www.cnblogs.com/wangjunwei/p/11372449.html