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>
?
- <!--? ??配置资源引用? ??description?对所引用的资源的说明? ??res-ref-name?指定所引用资源的JNDI名字? ??res-type?指定所引用资源的类名字? ??res-auth?指定管理所引用资源的Manager,它有两个可选值:? ??Container:由容器来创建和管理resource? ??Application:同WEB应用来创建和管理Resource? ??-->
注释:如果只有一个数据源时,不在web.xml中配置不会出错
???????? 但是如果有多个数据源时,必须在web.xml中配置,不然找不到