我們在開發(fā)項目的時候,總要和數據庫打交道,如何獲取數據源,以什么樣的方式來獲取,成為了我們即簡單又熟悉而且不得不注意的一個問題。
那么在這里我說三種獲取數據源的常用方式:一、通過配置文件來獲取
<context:property-placeholder location="classpath:jdbc.properties" />引入靜態(tài)文件
4.Spring中的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="maxActive" value="20" /> <property name="initialSize" value="1" /> <property name="maxWait" value="60000" /> <property name="maxIdle" value="20" /> <property name="minIdle" value="3" /> <property name="removeAbandoned" value="true" /> <property name="removeAbandonedTimeout" value="180" /> <property name="connectionProperties" value="clientEncoding=UTF-8" /></bean>dataSource bean5.配置文件的內容大致如下:

driverClassName=com.MySQL.jdbc.Driverurl=jdbc:mysql://localhost:3306/springsecurity?allowMultiQueries=trueusername=rootpassword=123456jdbc配置文件二、通過jndi來獲取

<Resource driverClassName="com.mysql.jdbc.Driver" maxActive="120" maxWait="5000" maxldle="10" name="app" type="javax.sql.DataSource" url="jdbc:mysql://127.0.0.1:3306/goldApp?allowMultiQueries=true" username="root" password="123456"/>jndi Resoure
3.對于第”2”點的說明:name表示為jndi的名字, driverClassName是使用的驅動類,url當然就是連接相關信息,username是登錄數據庫的用戶名,password是數據庫密碼。
4.執(zhí)行好第”2”步過后,要做的事情:在你的spring配置文件中,加入引入jndi的bean,如下:

<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean"> <property name="jndiName"> <value>java:comp/env/app</value> </property> </bean>jndi spring Bean
5.對于第“4”點的說明:
在value中java:comp/env/是前綴,app幫是content.xml中配置的jndi的名字。
三、在MATA-INFO 文件下加入Content.xml方式,讓項目在部署時動態(tài)為tomcat加上jndi數據源1.首先,在MATA-INFO下建文件: Context.xml
文件內容如下:

<?xml version="1.0" encoding="UTF-8"?><Context> <Resource driverClassName="com.mysql.jdbc.Driver" maxActive="120" maxWait="5000" maxldle="10" name="app" type="javax.sql.DataSource" url="jdbc:mysql://192.168.10.105:3306/springsecurity?allowMultiQueries=true" username="root" password="123456" /></Context>MATA-INFO Context內容
2.說明:在mata-info下加入此文件后,然后在spring中采用使用jndi的方式引用數據庫即可。這種的好處是。它在你發(fā)布項目的時候,會動態(tài)為你在tomcat的配置文件中加上數據源信息,所以就不用我們每次都手動到content.xml文件加入配置了。注意:動態(tài)加的數據源信息在servce.xml中。
新聞熱點
疑難解答