Spring中如何配置DataSource数据源

在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配置两个数据源,以便于您获取更多的相关知识。

时间: 2024-12-31 20:03:52

Spring中如何配置DataSource数据源的相关文章

在Spring3中,配置DataSource的方法有6种。

原文 在Spring3中,配置DataSource的方法有6种. 在Spring3中,配置DataSource的方法有五种. 第一种:beans.xml  Xml代码    <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"       destroy-method="close">       <property name="dr

总结Spring中XML配置的十二个最佳实践

Spring是一个强大的JAVA应用框架,广泛地应用于JAVA的应用程序.为PlainOldJavaObjects(POJOs)提供企业级服务.Spring利用依赖注入机制来简化工作,同时提高易测性.Springbeans及依赖,以及beans类所需的服务都在配置文件中进行了详细的说明,这个配置文件是典型的XML格式.但是它既冗长又不实用.对于需要定义大量Springbeans的大工程来说,我们难以阅读和管理它. 在这篇文章里,对于SpringXML的配置,我将向你展示12种比较好的实践.其中的

Spring中XML配置的12个技巧

Spring利用依赖注入可以获得简单而有效的测试能力.Spring beans,依赖关系,以及服务所需要的bean都将在配置文件中予以描述,配置文件一般采用XML格式.然而XML配置文件冗长而不易使用,在你进行一个使用了大量bean的大项目中它将变得难以阅读和控制. 在这篇文章中我将给你展示12种的有关Spring XML配置文件的最佳技巧.请注意另外一些因素,例如域模型的设计,会影响到XML配置,但是这篇文章更关注于XML配置的可读性和可操控性. 1.避免使用自动装配 Spring可以通过be

MyBatis延迟加载及在spring中集成配置

 当你要使用one to one,many to one 就会碰到N+1的问题.很明显,对象之间关联很多有A关联B,B关联C,C关联A这样的关系,如果不是采用延迟加载,很容易一下在出现成千上万对象,造成N+1的问题.   而Mybatis 设置延迟加载主要2个属性配置: <?xml version="1.0" encoding="UTF-8"?>     <!DOCTYPE configuration        PUBLIC "-

在Spring中如何处理配置动态代理生成不同bean实现?

问题描述 最近在做一个老系统的数据库移植工作,从oracle一直到mysql,但是由于mysql数据不完整,需要先查询mysql,如果没有再去查oracle,待完整后再去掉oracle.我的想法是,抽象出dao接口,然后2套实现逻辑,最后用代理模式处理先后查询.代码如下:publicinterfaceUserDAO{publicvoidfind();}classUserDAOOracleImplimplementsUserDAO{publicvoidfind()..}classUserDAOMy

spring中bean配置和bean注入

1 bean与spring容器的关系 Bean配置信息定义了Bean的实现及依赖关系,Spring容器根据各种形式的Bean配置信息在容器内部建立Bean定义注册表,然后根据注册表加载.实例化Bean,并建立Bean和Bean的依赖关系,最后将这些准备就绪的Bean放到Bean缓存池中,以供外层的应用程序进行调用. 1 bean配置 bean配置有三种方法: 基于xml配置Bean 使用注解定义Bean 基于java类提供Bean定义信息 1.1 基于xml配置Bean  对于基于XML的配置,

Spring中bean配置的继承

In Spring, the inheritance is supported in bean configuration for a bean to share common values, properties or configurations. A child bean or inherited bean can inherit its parent bean configurations, properties and some attributes. In additional, t

spring中配置MySql数据源,怎样配置数据库信息

问题描述 我安装的Mysql5.1,进入命令模式时需要密码:自己设置的(mysql)有一个默认的数据库test,我想连接这个库,或者其他库怎么连接呢?spring中的配置如下:<bean id ="dataSource" class ="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> <property name="driverClass

spring配置多数据源t junit测试报错

问题描述 spring配置多数据源t junit测试报错 Error creating bean with name 'seentao.workflow.engine.EngineTest': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire method: publi