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


 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM