在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
以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索数据库
, jndi
, 配置
, 属性
, 元素
, datasource
, gabse datasource
, resources中的文件引用
spring连接数据库
spring配置datasource、spring 多数据源配置、spring 配置数据源、spring配置多个数据源、spring配置两个数据源,以便于您获取更多的相关知识。