还在手动更改SpringBoot的环境yml配置文件?老鸟带你可视化配置

发布时间 2023-08-14 21:15:36作者: LiuShuku

问题说明:

在SpringBoot开发时、SpringBoot的特性:‘约定大于配置’,我们只需要在**application.yml **配置当前的环境变量属与那个文件

比如测试环境 ‘application-test.yml’, 我们需要手动指定application.yml中配置profiles:active:test

我们总会设置一些配置文件 我们需要手动去指定 当前配置文件引用那个环境。接下来介绍一种自动配置 基于maven构建

  1. 在maven顶层pom.xml新增配置

     <profiles>
            <profile>
                <id>local</id>
                <properties>
                    <!-- 环境标识,需要与配置文件的名称相对应 -->
                    <profiles.active>local</profiles.active>
                    <logging.level>debug</logging.level>
                </properties>
            </profile>
            <profile>
                <id>dev</id>
                <properties>
                    <!-- 环境标识,需要与配置文件的名称相对应 -->
                    <profiles.active>dev</profiles.active>
                    <logging.level>debug</logging.level>
                </properties>
                <activation>
                    <!-- 默认环境 -->
                    <activeByDefault>true</activeByDefault>
                </activation>
            </profile>
            <profile>
                <id>prod</id>
                <properties>
                    <profiles.active>prod</profiles.active>
                    <logging.level>warn</logging.level>
                </properties>
            </profile>
        </profiles>
    
  2. 这样我们在右侧maven的工具就可以看见当前的环境了

  3. 需要在application.yml 指定文件active的值等于 @profiles.active@

  4. 同时我们可以获取日志的级别;比如测试环境我需要 debug的日志信息。在线上环境需要error级别