1, Spring指定 datasource
DataSource接口,在javax.sql包,里邊有一個getConnection()方法。提供了標准化的取得連接的方式。只要實現了這個接口。Sun這個土鱉定的。
a) 參考文檔,找dbcp.BasicDataSource (dbcp:database connection pool數據庫連接池)
i. c3p0
ii. dbcp
iii. proxool
b) 在DAO或者Service中注入dataSource
c) 在Spring中可以使用PropertyPlaceHolderConfigure來讀取properties文件的內容
在beans.xml配置里寫:
<!-- DataSource去哪里讀取連接池配置 --> <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> <property name="locations"> <!-- 在src根目錄下建jdbc.properties配置文件 --> <value>classpath:jdbc.properties</value> </property> </bean>
DataSource:注意這里使用dbcp,使用dbcp需要2個包:commons-dbcp.jar,commons-pool.jar
<!-- dbcp連接池 ,根據上邊的配置去配置文件去讀取配置--> <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> <property name="driverClassName" value="${jdbc.driverClassName}" /> <property name="url" value="${jdbc.url}" /> <property name="username" value="${jdbc.username}" /> <property name="password" value="${jdbc.password}" /> <property name="initialSize" value="5"/> <property name="maxActive" value="20"/> </bean>
在src根目錄建jdbc.properties配置,名稱和DataSource里要一致:
jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/spring
jdbc.username=root
jdbc.password=root
將DataSource數據源注入到DAO:
<bean id="userDAO" class="com.oracle.dao.impl.UserDAOImpl"> <property name="dataSource" ref="dataSource"></property> </bean>
dbcp連接池配置:
<!-- 連接池啟動時的初始值 -->
( 以下內容摘在springside): |