Spring的datasource配置详解

一句话,Spring对Hibernate的整合,是在applicationContext.xml中配置sessionFactory来实现的,其中sessionFactory中要装配dataSource。下面就详细介绍dataSource Bean的配置。

先上代码(比较齐全的属性)

 

<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
	destroy-method="close">
	<property name="driverClassName" value="${driverClassName}" />
	<property name="url" value="${url}" />
	<property name="username" value="${username}" />
	<property name="password" value="${password}" />
	<!-- 连接初始值,连接池启动时创建的连接数量的初始值 -->
	<property name="initialSize" value="${initialSize}" />
	<!-- 连接池的最大值,同一时间可以从池分配的最多连接数量,0时无限制 -->
	<property name="maxActive" value="${maxActive}" />
	<!-- 最大空闲值.当经过一个高峰时间后,连接池可以慢慢将已经用不到的连接慢慢释放一部分,一直减少到maxIdle为止 ,0时无限制-->
	<property name="maxIdle" value="${maxIdle}" />
	<!-- 最小空闲值.当空闲的连接数少于阀值时,连接池就会预申请去一些连接,以免洪峰来时来不及申请 -->
	<property name="minIdle" value="${minIdle}" />
	<!-- 是否对已备语句进行池管理(布尔值),是否对PreparedStatement进行缓存 -->
	<property name="poolPreparedStatements" value="true" />
	<!-- 是否对sql进行自动提交 -->
	<property name="defaultAutoCommit" value="true" />
</bean>

 

1.Bean的id为dataSource,对应的java类是BasicDataSource,这个类适用于配置基本类型的数据库连接,如果要想进行多数据源,那么该Bean对应的java类就得用DynamicDataSource。

2.destroy-method,表示当该连接销毁时候,会调用BasicDataSource类中的close方法。

3.driverClassName,url,username,password都是基本配置,这些属性的value值是通过外部的属性配置文件引入,具体怎么引入请参见http://blog.csdn.net/dreamrealised/article/details/9123199中的第三点propertyConfigurer。

4.接下来的属性与数据库连接池有关,数据库连接池的有关基础知识请参见http://blog.csdn.net/dreamrealised/article/details/9127563

1)initialSize,连接初始值,连接池启动时创建的连接数量的初始值

2)maxActive,连接池的最大值,同一时间可以从池分配的最多连接数量,0时无限制

3)maxIdle,最大空闲值.当经过一个高峰时间后,连接池可以慢慢将已经用不到的连接慢慢释放一部分,一直减少到maxIdle为止 ,0时无限制

4)minIdle,最小空闲值.当空闲的连接数少于阀值时,连接池就会预申请去一些连接,以免洪峰来时来不及申请

5)poolPreparedStatements,是否对已备语句进行池管理(布尔值),是否对PreparedStatement进行缓存

6)defaultAutoCommit,是否对sql进行自动提交,进行事务管理的时候往往要关闭jdbc的自动提交功能,事务管理详见http://blog.csdn.net/dreamrealised/article/details/9123173


 

posted @ 2013-06-19 19:53  爱生活,爱编程  阅读(21285)  评论(1编辑  收藏  举报