读书人

spring数据源运用jndi

发布时间: 2012-09-14 11:53:44 作者: rapoo

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中配置,不然找不到

读书人网 >软件架构设计

热点推荐