在业务层声明 transactionTemplate 而且声称一个set方法等着spring来注入
在须要事物控制的地方执行 execute。可是这个execute须要一个参数
须要的参数是TransactionCollback可是这个是一个接口。想用的话就须要找他它的实现类
这里不找实现类,就写匿名内部类
生成未实现的方法。生成的方法就叫作doInTransaction
就能够把咱们的主要代码挪进来
这样涉及到事务提交的地方。都须要代码加在transactionTemplate的execute方法里面。这样产生不少重复性的代码
背离了AOP的思想。重复代码提取出来
编程式的事务能够实现。可是由灵活变成 不灵活了。
Service须要注入模板对象
运行测试
事务被控制住了
注释异常
转帐也成功
spring