`

动态修改Spring数据源信息

阅读更多

1: ApplicationConfig.properties

 

   jdbc.driverClassName=com.mysql.jdbc.Driver

   jdbc.url=jdbc:mysql://192.168.1.192:3306/xxx?useUnicode=true&characterEncoding=UTF-8

   jdbc.username=xxxx

   jdbc.password=xxx

 

2:DBInfo.java

 

package test;

 

public class DBInfo {

       private String driverName;

       private String url;

       private String userName;

       private String passWord;

public String getDriverName() {

return driverName;

}

public void setDriverName(String driverName) {

this.driverName = driverName;

}

public String getUrl() {

return url;

}

public void setUrl(String url) {

this.url = url;

}

public String getUserName() {

return userName;

}

public void setUserName(String userName) {

this.userName = userName;

}

public String getPassWord() {

return passWord;

}

public void setPassWord(String passWord) {

this.passWord = passWord;

}

 

}

 

3:测试Test.java

 

package test;

 

import java.util.ResourceBundle;

 

public class Test {

 

/**

* @param args

*/

private static String driverName; 

    private static String url;

    private static String userName;

    private static String passWord;

    public static DBInfo method(String filePath){ 

        DBInfo db = new DBInfo();

        ResourceBundle rb=ResourceBundle.getBundle(filePath);

        driverName = rb.getString("jdbc.driverClassName");

        db.setDriverName(driverName);

        url = rb.getString("jdbc.url");

 

db.setUrl(url);

        userName = rb.getString("jdbc.username");

        db.setUserName(userName);

        passWord = rb.getString("jdbc.password");

        db.setPassWord(passWord);

        return db;

    }

public static void main(String[] args) {

DBInfo info=method("conf.ApplicationConfig");

System.out.println(info.getDriverName());

System.out.println(info.getUrl());

System.out.println(info.getUserName());

System.out.println(info.getPassWord());

 

}

 

}



 

 

 

 

 

分享到:
评论

相关推荐

    动态数据源实现spring

    在Spring框架中,动态数据源实现...总的来说,动态数据源是Spring框架中的一项强大功能,它允许我们在不修改代码的情况下,根据运行时的条件灵活地切换数据源。这对于构建可扩展、可维护的大型企业级应用具有重大意义。

    spring动态数据源+mybatis分库分表

    "spring动态数据源+mybatis分库分表"是一个针对大型数据库场景的解决方案,它利用Spring框架的动态数据源功能和MyBatis的SQL映射能力,实现数据库的透明化分片。以下是这个主题的详细知识点: 1. **Spring动态数据...

    springboot连接池、动态配置多数据源连接池,特别适合大数据部门、数据中台服务的多数据源连接池.zip

    2. **创建数据源bean**:利用@ConfigurationProperties绑定配置文件中的数据源信息,创建多个DataSource bean。 3. **定义路由逻辑**:创建一个继承自AbstractRoutingDataSource的自定义数据源,重写...

    Spring Boot多数据源(支持Spring声明式事务切换和回滚).pdf

    在本文中,我们将深入探讨如何实现动态数据源切换,支持Spring声明式事务管理,并讨论多数据源回滚策略。以下是对这些知识点的详细说明: 1. **动态数据源切换**: - 通过AspectJ实现数据源的动态切换,可以设置在...

    mybatis+spring实现动态切换数据源 maven项目

    mybatis+spring实现动态切换数据源,修改数据源配置信息之后,直接运行test可进行测试 maven项目 导入即可 jar包都不用 适合学习参考 出自Java自学网 (Java自学网专供 就是免积分下载)

    Spring 动态切换数据源

    【Spring 动态切换数据源】是一种在Spring框架中实现的应用程序能够在运行时根据需求动态选择数据源的技术。这种功能对于多数据库环境或者需要对不同数据源执行操作的系统非常有用,例如数据聚合、报表生成等场景。 ...

    mybatis-plus+动态数据源

    在配置动态数据源时,可能会用到DOM解析XML配置文件,以便动态加载和管理数据源信息。 5. **自定义参数注入(注解)**: 自定义参数注入通常是通过Spring的`@Value`或`@ConfigurationProperties`注解实现,允许...

    springAop多数据源

    - 可以使用AbstractRoutingDataSource作为路由数据源,它可以动态决定当前操作所需的数据源。通过设置当前事务或上下文的键值,可以实现数据源的切换。 2. **Spring JdbcTemplate**: - Spring JdbcTemplate是...

    动态数据源之分库解析1(固定N数据源,切换多数据源)

    它提供了模型-视图-控制器(MVC)架构,简化了Web开发,同时与Spring其他模块无缝集成,如Spring JDBC和Spring Data,使得处理动态数据源变得容易。 6. **Spring JDBC**:Spring JDBC是Spring框架的一部分,它提供...

    SpringBoot实现动态切换数据源(含源码)

    // DynamicDataSource继承自AbstractRoutingDataSource,根据ThreadLocal中的数据源信息动态切换 public class DynamicDataSource extends AbstractRoutingDataSource { @Override protected Object ...

    springboot多数据源,DruidDataSource多数据源切换,不重启项目,修改数据库名解决方案

    项目背景: 1. Springboot项目 ... 一个主数据源,数据名称库不变。 3. 一个副数据源,数据库名称每天都在变,比如今天1号,是db_01; 明天2号,是db_02。 4.不重启项目切换数据源。 5.项目介绍: ...

    Spring(AbstractRoutingDataSource)实现动态数据源切换示例

    【Spring 动态数据源切换】使用 `AbstractRoutingDataSource` 的详细实现在处理多数据库环境时,Spring 提供了一个强大的工具 `AbstractRoutingDataSource`,它允许我们根据特定条件动态地切换数据源。本文将深入...

    SpringBoot+Atomikos分布式事务及多数据源动态切换,两种demo

    本文将深入探讨如何在Spring Boot项目中实现Atomikos分布式事务以及动态数据源切换的两种示例。 首先,我们需要理解什么是分布式事务。在分布式系统中,事务需要跨越多个独立的数据库或服务进行操作。分布式事务的...

    动态创建数据源,加上jar包就可以运行

    动态创建数据源的好处在于它允许我们在不修改代码的情况下改变数据源配置,这对于多环境部署、测试和生产环境切换,以及分布式系统中的负载均衡非常有用。接下来,我们将深入探讨动态创建数据源的相关知识。 首先,...

    SpringBoot+mybatis+Druid 运行时动态多数据源

    4. **动态切换**:在业务逻辑中,通过修改`ThreadLocal`变量或者使用其他方式(如AOP切面)来改变`AbstractRoutingDataSource`的lookup key,从而实现数据源的动态切换。 5. **MyBatis配置**:确保MyBatis知道如何...

    Spring动态切换datasource实现mysql多住多从

    3. **定义数据源路由**:Spring的`AbstractRoutingDataSource`类可以帮助我们实现数据源的动态路由。我们需要创建一个继承自`AbstractRoutingDataSource`的类,并重写`determineCurrentLookupKey`方法,该方法将根据...

    dynamic-datasource-spring-boot-starter_多数据源_

    `dynamic-datasource-spring-boot-starter`通过自动化配置和扩展点设计,使得开发者能够在不修改代码的情况下,轻松地在多个数据源之间切换。 **Spring Boot**是Spring框架的一个衍生项目,旨在简化Spring应用程序...

    如何在spring框架中解决多数据源的问题

    - **装饰者模式的应用**:使用装饰者模式来包装原有的数据源,从而实现在不修改原始数据源的基础上增加新的功能,如动态切换数据源的能力。 ##### 2. 技术实现 - **单例模式的问题**:在Spring中,通常情况下注册...

    Spring配置多个数据源并实现动态切换示例

    在Spring框架中,配置多个数据源并实现动态切换是一项常见的需求,特别是在大型系统中,可能需要连接到不同的数据库以满足不同业务场景的需求。本篇文章将详细介绍如何在Spring中配置两个不同的数据源,并实现它们...

    spring 1.2源代码

    此外,你还能看到AOP(面向切面编程)的实现,这是一个强大的工具,用于在不修改源代码的情况下添加额外的功能或监控代码行为。 在`src`目录中,你会找到多个子模块,如`spring-beans`、`spring-context`和`spring-...

Global site tag (gtag.js) - Google Analytics