Spring学习总结3——配置datasource三种方式

jdbc.properties文件信息

##Oracle 11g
jdbc.driverClassName=oracle.jdbc.OracleDriver
jdbc.url=jdbc:oracle:thin:@localhost:1521:orclnyp
jdbc.username=scott
jdbc.password=tiger

使用spring提供的PropertyPlaceholderConfigurer读取数据库配置信息.properties

<bean id="propertyConfigurer"
      class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
    <property name="location" value="classpath:jdbc.properties"/>
</bean>

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>${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> 
              <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中配置数据源,不方便于部署,推荐使用每二种方式进行数据源的配置。 




你可能感兴趣的:(dataSource,BasicDataSource,数据源配置)