Spring的datasource配置详解
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Spring的datasource配置详解
⼀句话,Spring对Hibernate的整合,是在applicationContext.xml中配置sessionFactory来实现的,其中sessionFactory中要装配dataSource。
下⾯就详细介绍dataSource Bean的配置。
先上代码(⽐较齐全的属性)
<bean id="dataSource" class="mons.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值是通过外部的属性配置⽂件引⼊,具体怎么引⼊请参见中的第三点propertyConfigurer。
4.接下来的属性与数据库连接池有关,数据库连接池的有关基础知识请参见
1)initialSize,连接初始值,连接池启动时创建的连接数量的初始值
2)maxActive,连接池的最⼤值,同⼀时间可以从池分配的最多连接数量,0时⽆限制
3)maxIdle,最⼤空闲值.当经过⼀个⾼峰时间后,连接池可以慢慢将已经⽤不到的连接慢慢释放⼀部分,⼀直减少到maxIdle 为⽌,0时⽆限制
4)minIdle,最⼩空闲值.当空闲的连接数少于阀值时,连接池就会预申请去⼀些连接,以免洪峰来时来不及申请
5)poolPreparedStatements,是否对已备语句进⾏池管理(布尔值),是否对PreparedStatement进⾏缓存
6)defaultAutoCommit,是否对sql进⾏⾃动提交,进⾏事务管理的时候往往要关闭jdbc的⾃动提交功能,事务管理详见。