java - 在Spring mybatis的maven项目中如何实现动态配置?
PHP中文网
PHP中文网 2017-04-17 17:50:23
[Java讨论组]

比如在项目中,我们会把数据库连接信息和redis连接信息放在properties文件中,我想把这个文件里的连接信息变成动态,也不需要去重启服务就可以切换,如何实现?

PHP中文网
PHP中文网

认证高级PHP讲师

全部回复(5)
迷茫

Maven中有个叫做Profile的配置,可以针对不同环境进行不同的配置。

<profiles>
     <profile>
          <id>dev</id>
          <properties>
               <db.driver>com.mysql.jdbc.Driver</db.driver>
               <db.url>jdbc:mysql://192.168.1.100:3306/test</db.url>
               <db.username>dev</db.username>
               <db.password>dev-pwd</db.password>
          </properties>
     </profile>
     //可定义多个profile,针对不同环境的不同id
     <profile>
     ...
     <profile>
</profiles>

使用命令行指定根据不同的Profile Id使用不同的配置

mvn clean install -P dev
天蓬老师
FYI

http://stackoverflow.com/questions/14117117/dynamically-loading-properties-file-using-spring
    <bean id="myProperties" class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
        <!-- check property file(s) every 1 second -->
        <property name="cacheSeconds" value="1"/>
        <property name="basenames">
            <list>
                <value>myApp/myApp</value>
            </list>
        </property>
    </bean>
PHP中文网
有一个技术,叫做autoconfig的。你可以百度了解一下。
可以通过配置文件,配置测试环境、开发环境、线上环境,项目会根据不同的情况下,分别加载不同的配置文件。
天蓬老师

不重启服务器想变换连接的数据库是不可能的,可以获取到连接的信息值,但是不可能动态切换到另一个库的

阿神

关键字jrebel

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号