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

本文详细探讨了如何使用Spring框架配置数据库连接,并对比了三种不同的数据源配置方式:DriverManagerDataSource、BasicDataSource和JndiObjectFactoryBean。重点介绍了如何从properties文件中读取数据库配置信息,并分析了每种方式的优缺点,推荐了更高效的配置方法。

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




转载于:https://my.oschina.net/nyp/blog/380064

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值