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的区别