java - 在Spring mybatis的maven项目中如何实现动态配置?
PHP中文网
PHP中文网 2017-04-17 17:50:23
0
5
889

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

PHP中文网
PHP中文网

认证高级PHP讲师

répondre à tous(5)
迷茫

Il existe une configuration appelée Profile dans Maven, qui peut être configurée différemment pour différents environnements.

<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>

Utilisez la ligne de commande pour spécifier différentes configurations en fonction de différents identifiants de profil

mvn clean install -P dev
Peter_Zhu
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>
Ty80
有一个技术,叫做autoconfig的。你可以百度了解一下。
可以通过配置文件,配置测试环境、开发环境、线上环境,项目会根据不同的情况下,分别加载不同的配置文件。
Peter_Zhu

Il est impossible de changer la base de données connectée sans redémarrer le serveur. Vous pouvez obtenir la valeur des informations de connexion, mais il est impossible de basculer dynamiquement vers une autre base de données

阿神

Mots clésjrebel

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal