阶段3 2.Spring_07.银行转账案例_5 编写业务层和持久层事务控制代码并配置spring的ioc


Service中就需要用到 TransactionManager中的方法。提供set方法等着spring注入

这里面所有的操作都可以加上事物控制


其他的方法都是相同的操作

这里没有返回结果




转账的方法



查询的地方需要thorw异常。产生了异常,程序就不在执行


QueryRunner注入了Connection之后。 它就会从连接里面取。我现在不希望它从连接里面取
xml。这里注入connection就不需要了

但是当我们不提供connection对象的时候。我们dao里面的操作将没有connection。那么此时应该怎么办呢?我们在Dao的实现类里面加上一个connectionUtils.
并提供set方法让spring为我们注入

然后用connectionUntils.getConnection()作为方法的第一个参数

每个方法都需要加上




这样我们的dao有connection支持。并且QueryRunner由于在xml内没有注入数据源,从而不会从数据源中拿链接



通过工具类的方法是把连接和现成进行了绑定


并且编写了事物管理

新建的依赖都注入

接下来就是要把刚才新建的这些依赖都注入好

首先配置connection 的工具类


它里面需要注入数据源。我们把原来注入数据源的配置由QueryRunner中挪到connectionUtils中来


那么谁在用这个connectionUtils呢。dao中在用。那么就把connectionUtils给我们的dao注入进去。

配置事物管理器

dao配置完成了。业务层还需要一个事物管理器



接下来看TransactionManager用到了谁。在里面看到 里面也用到了。ConnectionUtils




Service中注入事物管理器


这样就配置完了。但是配置变的很复杂。虽然复杂。但是实现了事物的控制。
接下来就是测试下能不能用了。



 

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