Spring数据源配置


什么是数据源

数据源(DataSource)是SUN公司制定的用于获取数据库连接的规范接口。它存在于 javax.sql包中,用来代替 DriverManager 的方式来获取连接。
DataSource 与 DriverManager 获取连接的不同:
a)、DriverManager是由SUN公司实现的,它只供了最基本的获取连接的方式;
b)、DataSource是一个接口,不光SUN可以实现,很多第三方的中间件也可以实现
DataSource一般有如下三种实现方式:
a)、标准实现 -- 提供最基本的连接,也就是DriverManager的方式;
b)、连接池的实现 -- 提供了连接池,是一种可以缓存及管理多个数据库连接的“容器”;
c)、分布事务的实现 -- 提供了连接池,而且这个池中的连接是支持分布式事务的(Distribute Transaction)

Spring提供了4种配置数据源的方式:

  • Spring自带的数据源(org.springframework.jdbc.datasource.DriverManagerDataSource)
  • DBCP数据源
  • C3P0数据源
  • JNDI数据源

配置DriverManagerDataSource


        
        
        
        



配置DBCP数据源

         
      
      
         
            

BasicDataSource提供了close()方法关闭数据源,所以必须设定destroy-method=”close”属性, 以便Spring容器关闭时,数据源能够正常关闭

配置C3P0数据源

        
            
            
            
            
 

ComboPooledDataSource和BasicDataSource一样提供了一个用于关闭数据源的close()方法,这样我们就可以保证Spring容器关闭时数据源能够成功释放

配置JNDI数据源

 
    
       
            
                
    
    
            

如果在 元素里面添加resource-ref=true ,这样给定的jndi-name将会自动添加java:comp/env/前缀

位于 jee 命名空间下的 Spring数据源
根据环境装配你的bean——Spring中profile的应用
spring中配置数据源DBCP:basicDataSource和spring提供的DriverManagerDataSource的区别