zoukankan      html  css  js  c++  java
  • 基于properties文件的Spring Boot多环境切换

    当我们使用properties文件作为Spring Boot的配置文件而不是yaml文件时,怎样实现多环境使用不同的配置信息呢?
        在Spring Boot中,多环境配置的文件名需要满足application-{profile}.properties的格式,其中{profile}对应你的环境标识,如下所示:
    • application-dev.properties:开发环境;
    • application-test.properties:测试环境;
    • application-prod.properties:生产环境;
     
        至于哪个具体的配置文件会被加载,需要在application.properties文件中通过spring.profiles.active属性来设置,而该属性可以写在配置文件中,也可以通过启动时命令来设置。
        如application.properties中的spring.profiles.active=test,那么就会加载application-test.properties中的配置的属性。
     
    • 假设有针对不同环境的三个配置文件:application-dev.properties,application-test.properties,application-prod.properties。
    • 这三个文件中设置不同的server.port属性,dev环境为1111,test环境为2222,prod为3333。
    • application.properties中设置spring.profiles.active=dev,意为默认以dev环境的配置文件为准。
    • 当我们执行java -jar XXX.jar时,可以测试到服务器端口为1111,也就是dev配置文件中设置的。
    • 当我们执行java -jar XXX.jar --spring.profiles.active=test,可以测试到端口被设置为2222,也就是test配置文件中设置的。
    • 同理,当我们执行jar -jar XXX.jar --spring.profiles.active=prod,可以观察到服务端口被设置为3333,也就是生产环境的配置。
     
     
    总结多环境的配置思路:
    1. 在application.properties中配置通用内容,使用spring.profiles.active=dev,指定默认的配置。
    2. 在application-{profile}.properties中配置各个环境不同的内容。
    3. 通过命令行方式去激活不同的环境配置。
  • 相关阅读:
    Java实现 LeetCode 30 串联所有单词的子串
    Java实现 LeetCode 29 两数相除
    Java实现 LeetCode 29 两数相除
    Java实现 LeetCode 29 两数相除
    Java实现 LeetCode 28 实现strStr()
    Java实现 LeetCode 28 实现strStr()
    Java实现 LeetCode 28 实现strStr()
    Java实现 LeetCode 27 移除元素
    Java实现 LeetCode 27 移除元素
    字符编码终极笔记:ASCII、Unicode、UTF-8、UTF-16、UCS、BOM、Endian
  • 原文地址:https://www.cnblogs.com/onmyway20xx/p/8986139.html
Copyright © 2011-2022 走看看