`
yanglei008
  • 浏览: 84237 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

spring 通过jndi配置一个或者多个数据源

阅读更多
META-INF目录下建一个context.xml文件

 <?xml version="1.0" encoding="UTF-8"?>
 <Context>
    <Resource name="jndiString_1" auth="Container"
             type="javax.sql.DataSource"
            maxActive="100"
            maxIdle="30"
            maxWait="10000"
            username="username"
            password="passwd"
            driverClassName="oracle.jdbc.OracleDriver"
            url="jdbc:oracle:thin:@192.168.1.88:1521:databaseName1"/>

    <Resource name="jndiString_2" auth="Container"
             type="javax.sql.DataSource"
            maxActive="100"
            maxIdle="30"
            maxWait="10000"
            username="username"
            password="passwd"
            driverClassName="oracle.jdbc.OracleDriver"
            url="jdbc:oracle:thin:@192.168.1.88:1521:databaseName2"/>


 </Context>

  上述jndiString 只是一个存在于容器中的标识字符,需要在下面spring配置中引用.


spring配置文件spring-core.xml中
    <bean id="jndiString_1" class="java.lang.String">
        <constructor-arg>
            <value>java:comp/env/jndiString_1</value>
        </constructor-arg>
    </bean>

    <bean id="jndiString_2" class="java.lang.String">
        <constructor-arg>
            <value>java:comp/env/jndiString_2</value>
        </constructor-arg>
    </bean>



    <bean id="dataSource1"
          class="org.springframework.jndi.JndiObjectFactoryBean"   
                         singleton="true">
        <property name="jndiName">
            <ref local="jndiString_1"/>
        </property>
    </bean> 

    <bean id="dataSource2"
          class="org.springframework.jndi.JndiObjectFactoryBean"   
                         singleton="true">
        <property name="jndiName">
            <ref local="jndiString_2"/>
        </property>
    </bean> 

   ......


以上程序启动需要容器支持,如果要进行单元测试 这样配置是跑不起来滴.
单元测试的配置 就直接在spring 里面配一下吧!
    <bean id="dataSource"    class="org.springframework.jdbc.datasource.DriverManagerDataSource">
        <property name="driverClassName">
            <value>oracle.jdbc.OracleDriver</value>
        </property>
        <property name="url">
            <value>jdbc:oracle:thin:@192.168.1.88:1521:databaseName</value>
        </property>
        <property name="username">
            <value>username</value>
        </property>
        <property name="password">
            <value>passwd</value>
        </property>
    </bean>


OK!
分享到:
评论

相关推荐

    基于 SpringBoot 多数据源 动态数据源 主从分离 快速启动器 支持分布式事务

    一个基于springboot的快速集成多数据源的启动器。支持 数据源分组 ,适用于多种场景 纯粹多库 读写分离 一主多从 混合模式。支持数据库敏感配置信息 加密(可自定义) ENC()。支持每个数据库独立初始化表结构schema和...

    dynamic-datasource-spring-boot-starter:springboot的动态数据源多数据源动态数据源主从分离读写分离分布式事务https:dynamic-datasource.com

    一个基于springboot的快速集成多数据源的启动器简介dynamic-datasource-spring-boot-starter是一个基于springboot的快速集成多数据源的启动器。其支持Jdk 1.7 +,SpringBoot 1.4.x 1.5.x 2.xx。文件| 文献资料|特性...

    Spring.3.x企业应用开发实战(完整版).part2

    8.4.1 配置一个数据源 8.4.2 获取JNDI数据源 8.4.3 Spring的数据源实现类 8.5 小结 第9章 Spring的事务管理 9.1 数据库事务基础知识 9.1.1 何为数据库事务 9.1.2 数据并发的问题 9.1.3 数据库锁机制 9.1.4 事务隔离...

    spring in action英文版

     8.3.5 在一个控制器中处理多个动作  8.3.6 使用一次性控制器  8.4 视图解析  8.4.1 使用模板视图  8.4.2 解析视图Bean  8.4.3 选择视图解析器  8.5 使用Spring的绑定标签  8.6 处理异常  ...

    Spring面试题

    组成 Spring 框架的每个模块(或组件)都可以单独存在,或者与其他一个或多个模块联合实现。每个模块的功能如下: ☆ 核心容器:核心容器提供 Spring 框架的基本功能。核心容器的主要组件是 BeanFactory,它是工厂...

    Spring-Reference_zh_CN(Spring中文参考手册)

    配置子报表数据源 14.7.5. 配置Exporter的参数 15. 集成其它Web框架 15.1. 简介 15.2. 通用配置 15.3. JavaServer Faces 15.3.1. DelegatingVariableResolver 15.3.2. FacesContextUtils 15.4. Struts 15.4.1. ...

    Spring3.x企业应用开发实战(完整版) part1

    8.4.1 配置一个数据源 8.4.2 获取JNDI数据源 8.4.3 Spring的数据源实现类 8.5 小结 第9章 Spring的事务管理 9.1 数据库事务基础知识 9.1.1 何为数据库事务 9.1.2 数据并发的问题 9.1.3 数据库锁机制 9.1.4 事务隔离...

    JavaEE企业级应用开发教程(Spring+SpringMVC+MyBatis)习题(2022).pdf

    23. MyBatis 的数据源配置:MyBatis 框架提供了 UNPOOLED、POOLED 和 JNDI 三种数据源类型。 24. MyBaits 的 update 语句:在 MyBaits 映射文件中使用 &lt;set&gt; 和 &lt;if&gt; 元素组合进行 update 语句动态 SQL 组装时,...

    applicationContext.xml 详细配置

    在上面的代码中,定义了一个数据源 Bean,名为 dataSource,类型为 org.springframework.jndi.JndiObjectFactoryBean,destroy-method 指定了销毁方法为 close。该 Bean 还具有一个名为 jndiName 的属性,值为 java:...

    Spring in Action(第2版)中文版

    a.2把spring添加为一个maven2依赖项 a.3spring与ant a.4spring与log4j 附录b用(和不用)spring进行测试 b.1测试简介 b.1.1理解不同类型的测试 b.1.2使用junit b.1.3spring在测试中的角色 b.2单元测试...

    Spring in Action(第二版 中文高清版).part2

    A.2 把Spring添加为一个Maven 2依赖项 A.3 Spring与Ant A.4 Spring与Log4j 附录B 用(和不用)Spring进行测试 B.1 测试简介 B.1.1 理解不同类型的测试 B.1.2 使用JUnit B.1.3 Spring在测试中的角色 B.2 单元...

    Spring in Action(第二版 中文高清版).part1

    A.2 把Spring添加为一个Maven 2依赖项 A.3 Spring与Ant A.4 Spring与Log4j 附录B 用(和不用)Spring进行测试 B.1 测试简介 B.1.1 理解不同类型的测试 B.1.2 使用JUnit B.1.3 Spring在测试中的角色 B.2 单元...

    Spring Boot中文文档.rar

    spring boot中文文档,从...连接到JNDI数据源 30.2.使用JdbcTemplate 30.3.JPA和Spring Data JPA 30.3.1.实体类 30.3.2.Spring数据JPA存储库 30.3.3.创建和删除JPA数据库 30.3.4.在View中打开EntityM

    dynamic-datasource-spring-boot-starter-v3.5.1.zip

    支持 数据源分组 ,适用于多种场景 纯粹多库 读写分离 一主多从 混合模式。 支持数据库敏感配置信息 加密(可自定义) ENC()。 支持每个数据库独立初始化表结构schema和数据库database。 支持无数据源启动,支持懒加载...

    dynamic-datasource-spring-boot-starter-v3.5.1.tar.gz

    支持 数据源分组 ,适用于多种场景 纯粹多库 读写分离 一主多从 混合模式。 支持数据库敏感配置信息 加密(可自定义) ENC()。 支持每个数据库独立初始化表结构schema和数据库database。 支持无数据源启动,支持懒加载...

    springboot参考指南

    配置一个数据源 ii. 67.2. 配置两个数据源 iii. 67.3. 使用Spring Data仓库 iv. 67.4. 从Spring配置分离@Entity定义 v. 67.5. 配置JPA属性 vi. 67.6. 使用自定义的EntityManagerFactory vii. 67.7. 使用两个Entity...

    六大类系统架构图及其简介分享.pdf

    Spring 框架由多个模块组成,每个模块都可以单独存在,或者与其他一个或多个模块联合实现。这些模块包括: * 核心容器:提供 Spring 框架的基本功能。核心容器的主要组件是 BeanFactory,它是工厂模式的实现。...

    Jetty中文手册

    在JNDI中配置数据源(DataSource) 内嵌Jetty服务器 内嵌Jetty教程 内嵌Jetty的HelloWorld教程 内嵌Jetty视频 优化Jetty 如何配置垃圾收集 如何配置以支持高负载 在Jetty中部署应用 部署管理器 部署绑定 热部署 ...

    c3p0的JAR包

    C3P0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。目前使用它的开源项目有Hibernate,Spring等。C3P0数据源在项目开发中使用得比较多。导入相关jar包c3p0-0.9.2-pre1.jar、...

    java变态面试题.pdf

    * Hibernate sessionfactory 和 session 的区别:sessionfactory 是一个数据源对应着一个sessionfactory,属于二级缓存,而 session 是一次回话,也就是说是一级缓存,并且是由 sessionfactory 创建的。 * Hibernate...

Global site tag (gtag.js) - Google Analytics