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中注入事物管理器


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



     

  • 相关阅读:
    Solr基础知识二(导入数据)
    Solr基础知识一(安装配置)
    企业微信机器人
    Mysql+Keepalived双主热备高可用操作记录
    mysql互为主从(双主)配置
    编译安装msyql
    JS 常用的一些功能性函数 (自用)
    JavaScrip 之 DOM (回顾)
    MySQL的表定义语法
    MySQL的数据库定义语法
  • 原文地址:https://www.cnblogs.com/wangjunwei/p/11352995.html
Copyright © 2011-2022 走看看