Spring框架中获得DataSource对象的方法

在Spring框架中有如下3种获得DataSource对象的方法: 
1.从JNDI获得DataSource. 
2.从第三方的连接池获得DataSource. 
3.使用DriverManagerDataSource获得DataSource. 

JNDI方式

Java代码  收藏代码
  1. 1、SpringJNDI数据源配置信息:  
  2.   <bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">  
  3.    <property name="jndiName">  
  4.     <value>java:comp/env/jcptDataSourceJNDI</value>  
  5.    </property>  
  6.   </bean>  
  7.   jcptDataSourceJNDI是tomcat或者其他应用服务器配置的JNDI.  
  8.    
  9. 2、关于JNDI的配置(tomcat):  
  10.   修改tomcat目录conf/context.xml文件:  
  11.   <Resource name="jcptDataSourceJNDI" auth="Container" type="javax.sql.DataSource"  
  12.       maxActive="100" maxIdle="30" maxWait="10"   username="tysp"  
  13.       password="12345678" driverClassName="oracle.jdbc.driver.OracleDriver"  
  14.       url="jdbc:oracle:thin:@192.168.1.35:1521:orcl"/>   
  15.    
  16. 3、通过JNDI获取DataSource:  
  17.   Context context = new InitialContext();  
  18.   DataSource ds = (DataSource)context.lookup("java:comp/env/jcptDataSourceJNDI");  



使用DBCP连接池获取 

Java代码  收藏代码
  1. 要在Spring中使用DBCP连接池,需要引入commons-collections.jar、commons-dbcp.jar和commons-pool.jar。  
  2.    
  3. <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">  
  4.         <property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"></property>  
  5.         <property name="url" value="jdbc:oracle:thin:@192.168.1.35:1521:orcl"></property>  
  6.         <property name="username" value="or_meal"></property>  
  7.         <property name="password" value="or_meal"></property>  
  8.         <property name="maxActive" value="100"></property>  
  9.         <property name="maxIdle" value="30"></property>  
  10.         <property name="maxWait" value="10"></property>  
  11.         <property name="defaultAutoCommit" value="false"></property>  
  12.     </bean>  
  13.    
  14.     <bean id="sessionFactory"  
  15.         class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">  
  16.         <property name="dataSource">  
  17.             <ref bean="dataSource" />  
  18.         </property>  
  19.    
  20.         <property name="hibernateProperties">  
  21.             <props>  
  22.                 <prop key="hibernate.dialect">org.hibernate.dialect.Oracle9Dialect  
  23.                 </prop>  
  24.                 <prop key="show_sql">true</prop>  
  25.                 <prop key="format_sql">true</prop>  
  26.             </props>  
  27.         </property>  
  28.         <property name="mappingResources">  
  29.         <list></list>  
  30.         </property>  
  31.     </bean>  



使用DriverManagerDataSource 

Java代码  收藏代码
    1. <bean id="dataSource"  
    2.         class="org.springframework.jdbc.datasource.DriverManagerDataSource">  
    3.         <property name="driverClassName">  
    4.             <value>oracle.jdbc.driver.OracleDriver  
    5.             </value>  
    6.         </property>  
    7.         <property name="url">  
    8.             <value>jdbc:oracle:thin:@192.168.1.35:orcl  
    9.             </value>  
    10.         </property>  
    11.         <property name="username">  
    12.             <value>or_meal</value>  
    13.         </property>  
    14.         <property name="password">  
    15.             <value>or_meal</value>  
    16.         </property>  
    17.     </bean>  
posted @ 2014-02-13 16:36  ajiaju  阅读(1259)  评论(0编辑  收藏  举报