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中注入事物管理器
这样就配置完了。但是配置变的很复杂。虽然复杂。但是实现了事物的控制。
接下来就是测试下能不能用了。