• 对spring 对持久层的支持和数据库连接池的理解


    1.spring对持久层的支持在于,得到数据库连接之后操作上的封装,将操作简化了。也就是说以后操作sql语句就用XXXTemplate(就是一个工具类)对象了。

    2.数据库连接池的作用只在于得到数据库的连接,并对数据库的连接做管理,不涉及到得到连接后的操

    所以,spring对持久层的支持的XXXTemplate类是属于spring包下的,是spring的支持。但是数据库连接池的获取连接的数据源对象XXXDataSource对象是在第三方包内的,比如c3p0和dbcp包

    3.所以不同的XXXTemplate可以和不同的数据连接池(数据源)结合

    -----

    使用xxxTemplate对象的方式有俩种:

      1)直接将xxxTemplate对象当中成员变量放在具体的Dao中,并在Dao的ioc配置中注入已经在xml中配置好的xxxTemplate。

      2)用具体的Dao继承xxxDaoSupport,在有getTmeplate获得xxxTemplate对象使用,同时需要在Dao的ioc配置中,注入dataSource数据源。相比上一个方法,少了个xxxTemplate的配置。如果用注解的方式还是要通过set方法来注入dataSource的

    事务相关:

    参看链接:

    https://www.ibm.com/developerworks/cn/education/opensource/os-cn-spring-trans/

    xxxTemplate默认是不开启事务的,那如果要开启事务,就要通过 XXXTransactionManager 事务管理器来管理,通过操作PlatformTransactionManager、TransactionDefinition 和 TransactionStatus对象来实现事务控制。同时为了简化事务管理器的操作,spring提供了TransactionTemple工具类。

    编程式事务处理有代码侵入性,所有开发中推荐使用声明式事务处理

     因为声明式事务处理的实现原理是aop,所有声明式的事务处理的方式和aop一样也经历了几个时期

  • 相关阅读:
    final方法修饰继承问题
    日期比较
    子类继承父类,初始化以及方法调用顺序
    linux机器上实现占用固定cpu使用率,并将程序绑定到固定cpu上
    【译】Rust宏:教程与示例(二)
    【译】Rust宏:教程与示例(一)
    【译】Async/Await(五)—— Executors and Wakers
    【译】Async/Await(四)—— Pinning
    通过工具dumpbin.exe快速查看dll的编译版本是Release还是Debug
    【常用操作】ubuntu部署说明
  • 原文地址:https://www.cnblogs.com/wanjn/p/7352920.html
Copyright © 2020-2023  润新知