JNDI+Spring獲取配置資料來源的三種方法
阿新 • • 發佈:2019-01-02
一 環境:XP+Myeclipse6.6+Tomcat7+JDK1.6
二 具體步驟如下:
bean.xml中配置:
- <bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
- <property name="jndiName" value="java:comp/env/jdbc/oracle"></property>
- </bean>
以下每種方式都是成功的!
第一種方式:
1 %TOMCAT_HOME%\conf\server.xml中配置
- <Resource name="jdbc/oracle" auth="Container"
- type="javax.sql.DataSource"
- factory="org.apache.commons.dbcp.BasicDataSourceFactory"
- maxActive="100" maxIdle="30" maxWait="5000" username="ssh"
-
password="ssh" driverClassName="oracle.jdbc.driver.OracleDriver"
- url="jdbc:oracle:thin:@127.0.0.1:1521:orcl" />
第二種方式: 全域性jndi配置步驟
1 %TOMCAT_HOME%\conf\context.xml中配置
- <Resource name="jdbc/oracle" auth="Container"
- type="javax.sql.DataSource"
-
factory="org.apache.commons.dbcp.BasicDataSourceFactory"
- maxActive="100" maxIdle="30" maxWait="5000" username="ssh"
- password="ssh" driverClassName="oracle.jdbc.driver.OracleDriver"
- url="jdbc:oracle:thin:@127.0.0.1:1521:orcl" />
推薦第三種方式:
應用的context XML檔案(META-INF/context.xml),這個是私有的,只對這個應用可見
- <Context>
- <Resource name="jdbc/oracle" auth="Container"
- type="javax.sql.DataSource"
- factory="org.apache.commons.dbcp.BasicDataSourceFactory"
- maxActive="100" maxIdle="30" maxWait="5000" username="ssh"
- password="ssh" driverClassName="oracle.jdbc.driver.OracleDriver"
- url="jdbc:oracle:thin:@127.0.0.1:1521:orcl" />
- </Context>
說明我沒有在web.xml進行相應的配置也沒有把資料庫驅動jar拷貝到%TOMCAT_HOME%/lib下,可能是Tomcat7的原因, 其它Tomcat沒有測試了!