zoukankan      html  css  js  c++  java
  • 阶段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中注入事物管理器


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



     

  • 相关阅读:
    《Think in Java》(七)复用类
    书单2017
    React 获取真实Dom v8.6.2版本
    vue-waterfall2 实现瀑布流,及总结的问题
    vue CSS使用/deep/
    vue.config.js 配置 scss,less,sass全局配置 vuecli3
    postcss 将px转换成rem vuecli3+vant+vue+postcss
    px转rem vue vscode
    轮播模仿臭美APP,vue,swiper
    瀑布流 懒加载 组件 vue js
  • 原文地址:https://www.cnblogs.com/wangjunwei/p/11352995.html
Copyright © 2011-2022 走看看