Welcome 微信登录

首页 / 软件开发 / JAVA / Spring中如何配置DataSource数据源

Spring中如何配置DataSource数据源2015-02-01在Spring框架中有如下3种获得DataSource对象的方法:

1.从JNDI获得DataSource.

2.从第三方的连接池获得DataSource.

3.使用DriverManagerDataSource获得DataSource.

一、从JNDI获得DataSource

SpringJNDI数据源配置信息:

<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean"><property name="jndiName"> <value>java:comp/env/jcptDataSourceJNDI</value></property> </bean>
jcptDataSourceJNDI是tomcat或者其他应用服务器配置的JNDI.

2、关于JNDI的配置(tomcat):

修改tomcat目录conf/context.xml文件或server.xml文件:

<Resource name="jcptDataSourceJNDI" auth="Container"type="javax.sql.DataSource"maxActive="100"maxIdle="30"maxWait="10"username="tysp"password="12345678"driverClassName="oracle.jdbc.driver.OracleDriver"url="jdbc:oracle:thin:@192.168.1.35:1521:orcl"/>
在server.xml中加入<Resource>元素:<Resource>元素用来定义JNDI Resource。

属性:描述

name:指定Resource的JNDI名字

auth:指定管理Resource的Manager,它有两个可选值:Container、Application

type:指定Resource所属的Java类名

<Resource>元素中加入<ResourceParams>元素:<ResourceParams>元素用来指定各种参数值(也可以像上面那样配置)

属性:描述

factory       指定生成的DataResource的factory类名

maxActive     指定数据库连接池中处于活动状态的最大连接数目,0表示不受限制

maxIdle       指定数据库连接池中处于空闲状态的最大连接数目,0表示不受限制

maxWait       指定连接池中连接处于空闲状态的最长时间,超过会抛出异常,-1表示无限

username      指定连接数据库的用户名

password      指定连接数据库的口令

driverClassName    指定连接数据库的JDBC驱动程序

url             指定连接数据库的URL

3、通过JNDI获取DataSource:

Context context = new InitialContext();

DataSource ds = (DataSource)context.lookup("java:comp/env/jcptDataSourceJNDI");

4.在web.xml中加入(spring配置中可以不用)

<resource-ref><description>DB Connection</description><res-ref-name>jdbc/TestDB</res-ref-name><res-type>javax.sql.DataSource</res-type><res-auth>Container</res-auth> </resource-ref>
在web.xml中加入<resource-ref>元素:<resource-ref>元素表示在Web应用中引用JNDI资源

属性:描述

description     对所引用的资源的说明

res-ref-name    指定所引用资源的JNDI名字,与<Resource>元素中的name属性对应

res-type        指定所引用资源的类名字,与<Resource>元素中的type属性对应

res-auth        指定所引用资源的Manager,与<Resource>元素中的auth属性对应

更多信息:可以参考http://blog.csdn.net/cyxlzzs/article/details/7352837