如果應用配置在高性能的應用服務器(如WebLogic或Websphere等)上,更希望使用應用服務器本身提供的數據源。應用服務器的數據源使用JNDI開放調用者使用,Spring為此專門提供引用JNDI資源的JndiObjectFactoryBean類。
一、在Spring配置文件中的配置
<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName">
<value>java:comp/env/jdbc/DBPool</value>
</property>
</bean>
二、在web.xml的配置(這些標簽就是用來建立當前應用環境到服務器資源的映射的)
<resource-ref>
<res-ref-name>jdbc/DBPool</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
三、在Tomcat的配置
server.xml下 <GlobalNamingResources></GlobalNamingResources>中的配置
<Resource
auth="Container"
description="DB Connection"
driverClass="Oracle.jdbc.driver.OracleDriver"
maxPoolSize="50"
minPoolSize="2"
initialPoolSize="5"
maxIdleTime="60"
autoCommitOnClose="true"
acquireIncrement="3"
name="jdbc/DBPool"
user="root"
password="123456"
jdbcUrl="jdbc:oracle:thin:@192.168.120.165:1521:orcl10"
factory="org.apache.naming.factory.BeanFactory"
type="com.mchange.v2.c3p0.ComboPooledDataSource"
/>
context.xml下<Context></Context>中的配置
<ResourceLink global="jdbc/DBPool" name="jdbc/DBPool" type="javax.sql.DataSource" />
四、調用
這樣既可以通過Spring獲得數據源得到Connection對象 , 也可以通過下面獲得Connection 對象
Context context = new InitialContext();
DataSource dataSource = (DataSource)context.lookup("java:comp/env/jdbc/DBPool");
Connection con = dataSource.getConnection();
Struts2整合Spring方法及原理 http://www.linuxidc.com/Linux/2013-12/93692.htm
基於 Spring 設計並實現 RESTful Web Services http://www.linuxidc.com/Linux/2013-10/91974.htm
Spring-3.2.4 + Quartz-2.2.0集成實例 http://www.linuxidc.com/Linux/2013-10/91524.htm
使用 Spring 進行單元測試 http://www.linuxidc.com/Linux/2013-09/89913.htm
運用Spring注解實現Netty服務器端UDP應用程序 http://www.linuxidc.com/Linux/2013-09/89780.htm
Spring 3.x 企業應用開發實戰 PDF完整高清掃描版+源代碼 http://www.linuxidc.com/Linux/2013-10/91357.htm
Spring 的詳細介紹:請點這裡
Spring 的下載地址:請點這裡