1. 程式人生 > >Spring配置資料來源的三種方式 (JNDI\C3PO)

Spring配置資料來源的三種方式 (JNDI\C3PO)

1,使用org.springframework.jdbc.datasource.DriverManagerDataSource
說明:DriverManagerDataSource建立連線是隻要有連線就新建一個connection,根本沒有連線池的作用。 
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
              <property name="driverClassName"><value>${jdbc.driverClassName}</value></property>
              <property name="url"><value>${jdbc.url}</value></property> 
              <property name="username"><value>${jdbc.username}</value></property>
              <property name="password"><value>${jdbc.password}</value></property>

       </bean> 
2.使用org.apache.commons.dbcp.BasicDataSource 
說明:這是一種推薦說明的資料來源配置方式,它真正使用了連線池技術 
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"> 
              <property name="driverClassName"> 
                     <value>oracle.jdbc.driver.OracleDriver</value> 
              </property> 
              <property name="url"> 
                     <value>jdbc:oracle:thin:@localhost:1521:orcl</value> 
              </property> 
              <property name="username"> 
                     <value>test</value> 
              </property> 
              <property name="password"> 
                     <value>test</value> 
              </property> 
              <property name="maxActive"> 
                     <value>255</value> 
              </property> 
              <property name="maxIdle"> 
                     <value>2</value> 
              </property> 
              <property name="maxWait"> 
                     <value>120000</value> 
              </property> 
       </bean> 
3.使用org.springframework.jndi.JndiObjectFactoryBean 
說明:JndiObjectFactoryBean 能夠通過JNDI獲取DataSource 
<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean"> 
              <property name="jndiName"><value>java:comp/env/jdbc/roseindiaDB_local</value></property>
       </bean> 
總結:3種方式中的第一種沒有使用連線池,故少在專案中用到,第三種方式需要在web server中配置資料來源,不方便於部署,本人推薦使用每二種方式進行資料來源的配置。