spring数据源使用jndi

1:applicationContext.xml中配置如下:

加入属性描述文件

 <bean id="propertyConfigurer"
        class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">

    <property name="location">
      <value>/WEB-INF/applicationContext.properties</value>
    </property>
    <property name="fileEncoding">
      <value>GBK</value>
    </property>
  </bean>

配置jndi数据源

<bean id="dataSource.FBCM"
        class="org.springframework.jndi.JndiObjectFactoryBean">
    <property name="jndiName">
      <value>${jndi.oradata}</value> (为在属性文件中定义的jndi数据源哦)
    </property>
  </bean>

2:applicationContext.properties中定义jndi数据源如下:

#################数据库连接参数
#ORACLE数据库连接JNDI名称。weblogic下为nstc/jdbc/OraData;tomcat下#java:comp/env/nstc/jdbc/OraData
jndi.oradata=java:comp/env/jdbc/WebData

3:在web.xml中配置

    <resource-ref>  
    <description>DB Connection</description>  
    <res-ref-name>jdbc/WebData</res-ref-name>  
    <res-type>javax.sql.DataSource</res-type>  
    <res-auth>Container</res-auth>  
</resource-ref>

  1. <!--    
  2. 配置资源引用    
  3. description 对所引用的资源的说明    
  4. res-ref-name 指定所引用资源的JNDI名字    
  5. res-type 指定所引用资源的类名字    
  6. res-auth 指定管理所引用资源的Manager,它有两个可选值:    
  7. Container:由容器来创建和管理resource    
  8. Application:同WEB应用来创建和管理Resource    
  9. -->

注释:如果只有一个数据源时,不在web.xml中配置不会出错

         但是如果有多个数据源时,必须在web.xml中配置,不然找不到

猜你喜欢

转载自salouhim.iteye.com/blog/1041017
今日推荐