`
lyunabc
  • 浏览: 551408 次
  • 性别: Icon_minigender_2
社区版块
存档分类
最新评论

Spring多数据源配置

 
阅读更多

在大型的应用中,为了提高数据库的水平伸缩性,对多个数据库实例进行管理,需要配置多数据源。在Spring框架被广泛运用的今天,可以很简单的运用Spring中的特性配置动态多数据。

1. 首先配置一个基于c3p0.ComboPooledDataSource的数据源A,数据源B.

daoContext.xml

3. 接着扩展一个Spring提供的AbstractRoutingDataSource,Override 其中的 determineCurrentLookupKey方法实现数据源的route.

而其中的CustomerContextHolder这是开发人员自己实现的一个封装了ThreadLocal类型的ContextHolder。

4.接下来就是在我们上面的daoContext.xml将这个DynamicDataSource Bean加入进去,同时配置targetDataSources的 Map映射。

5. 如何是用这个动态的多数据源呢? 其实很简单,因为我们的DynamicDataSource 是继承与AbstractRoutingDataSource,而AbstractRoutingDataSource又是继承于org.springframework.jdbc.datasource.AbstractDataSource,显然的AbstractDataSource实现了统一的DataSource接口,所以我们的DynamicDataSource 同样可以方便的当一个DataSource使用,下面拿Hibernate做例子:

可以看到我们用的仍然是一个sessionFactory,这样看来事务管理的配置也和以前一样。

DynamicDataSource Bean也在容器中了,现在剩下的就在程序中如何控制,选择某一个想要的数据源该怎么做:

或者使用AOP实现


分享到:
评论
3 楼 getdate 2014-01-07  
请问楼主,<property name="configLocations" value="classpath:hibernate.cfg.xml" />  其中hibernate.cfg.xml中的内容是什么可以贴些内容么?

谢谢。
2 楼 m635674608 2013-08-01  
这东西一点都不要用,,,还要修改字节码,很麻烦
1 楼 m635674608 2013-08-01  
这东西一点都不要用,,,还要修改字节码,很麻烦

相关推荐

    基于注解的Spring多数据源配置和使用

    ### 基于注解的Spring多数据源配置与使用详解 #### 一、引言 在企业级应用开发中,经常会遇到需要从多个数据库拉取数据的情况,比如进行跨库查询、定时任务中的数据分析及报表统计等。Spring框架作为Java开发领域的...

    Spring多数据源配置_分布式数据

    ### Spring多数据源配置与分布式数据管理 #### 环境及框架介绍 在本案例中,我们将探讨如何在基于Tomcat服务器的环境下配置多个数据源,并实现分布式数据的交互。该系统的架构主要包括:Tomcat作为应用服务器,...

    spring数据源配置

    ### Spring 数据源配置详解 #### 一、Spring与数据源简介 在Java企业级应用开发中,数据库操作是必不可少的一部分。Spring框架作为一种流行的轻量级Java应用开发框架,提供了强大的数据库访问支持,其中包括对数据...

    基于注解和Spring的多数据源配置和使用

    本篇文章将深入探讨如何基于注解和Spring实现多数据源配置和使用。 首先,我们需要理解"注解"在Java中的作用。注解是一种元数据,它提供了一种安全的方法来关联信息和代码(类、方法、变量等)。Spring框架广泛使用...

    spring boot多数据源配置

    在Spring Boot应用中,多数据源配置是一项关键的技术,它允许我们同时管理多个数据库,比如主库和从库,或者不同类型的数据库。本教程将详细阐述如何在Spring Boot项目中实现这一功能,从数据源配置、实体管理到...

    Spring多数据源分布式事务管理

    首先,让我们来了解一下Spring多数据源配置。在Spring中,我们可以通过DataSourceProxy和AbstractRoutingDataSource来实现多数据源的切换。DataSourceProxy是Spring的一个代理类,它可以对数据源进行包装,以便在...

    spring多数据源配置实现方法实例分析

    Spring多数据源配置实现方法实例分析 在实际开发中,我们经常会遇到多数据源配置的问题,而Spring框架提供了多种方式来实现多数据源配置。今天,我们将从实例出发,探索Spring多数据源配置实现方法的实例分析。 多...

    spring 动态多数据源配置代码

    下面将详细介绍Spring动态多数据源配置的相关知识点。 1. **为什么要使用多数据源**: 在实际项目中,可能需要连接到不同的数据库,例如,一个用于存储主业务数据,另一个用于日志记录或数据分析。通过多数据源...

    SSM(Spring+SpringMVC+MyBatis)多数据源配置框架

    在多数据源配置中,Spring能够帮助管理不同的数据源,通过配置bean来切换和控制数据源的使用。 **SpringMVC** 是Spring框架的一部分,专为Web开发设计。它简化了模型-视图-控制器(Model-View-Controller,MVC)的...

    springboot多数据源配置

    在Spring Boot应用中,多数据源配置是一项重要的技术实践,特别是在大型系统中,可能需要连接到多个数据库以实现数据隔离、读写分离或是分布式事务管理。Spring Boot以其强大的自动化配置能力,使得设置多数据源变得...

    Spring Boot+Jpa多数据源配置Demo(支持不同数据库)

    Spring Boot结合JPA(Java Persistence API)和JdbcTemplate,为开发者提供了灵活且强大的多数据源配置能力。本示例将详细介绍如何在Spring Boot项目中实现这样的配置,以支持不同类型的数据库。 首先,我们要理解...

    Spring 数据源不同配置

    对于需要同时连接多个数据库的应用,Spring支持多数据源配置。可以通过`@Qualifier`注解指定使用哪个数据源,或者使用`AbstractRoutingDataSource`动态路由数据源。 6. **JNDI数据源** 在应用服务器中,数据源...

    springboot +mybatis+oracle 配置多个数据源,配置两个数据库信息

    本配置示例将详细介绍如何在Spring Boot中整合MyBatis与Oracle数据库,并配置两个不同的数据源。 首先,我们需要理解数据源(DataSource)的概念。数据源是Java应用程序与数据库之间的桥梁,它负责管理数据库连接,...

    Spring多数据源atomikos所有jar包

    Atomikos是一个开源的事务管理器,专门用于处理分布式事务,它在Spring多数据源配置中扮演着重要的角色。 Atomikos是JTA(Java Transaction API)的实现,遵循X/Open XA规范,可以提供强一致性的分布式事务处理能力...

    SpringBoot配置多数据源实现动态切换数据源

    多数据源配置允许我们灵活地管理这些数据。 SpringBoot实现多数据源主要依靠Spring的`@Configuration`和`@DataSourceConfiguration`注解,以及Spring JDBC的`DataSource`接口。下面是一个基本的配置示例: ```java...

    spring多数据源.rar

    这个压缩包"spring多数据源.rar"很可能包含了详细的配置文件、样例代码、甚至可能有具体的说明文档,帮助开发者理解和实践Spring多数据源配置。这些资料将提供实际操作的指导,确保开发者能够成功地在Spring应用中...

    springAop多数据源

    总结来说,"springAop多数据源"项目涉及到Spring框架的多数据源配置、JdbcTemplate的使用、面向切面编程的应用,以及使用JUnit进行测试。理解并掌握这些技术对于构建灵活、可扩展的Java应用程序至关重要。在实践中,...

    spring mvc 配置多数据源

    # Oracle数据源配置 jdbc.driver=oracle.jdbc.OracleDriver jdbc.url=jdbc:oracle:thin:@127.0.0.1:1521:dev jdbc.username=ling jdbc.password=229 # MySQL数据源配置 jdbc-mysql.driver=com.mysql.jdbc.Driver ...

Global site tag (gtag.js) - Google Analytics