问题说明:
在SpringBoot开发时、SpringBoot的特性:‘约定大于配置’,我们只需要在**application.yml **配置当前的环境变量属与那个文件
比如测试环境 ‘application-test.yml’, 我们需要手动指定application.yml中配置profiles:active:test
我们总会设置一些配置文件 我们需要手动去指定 当前配置文件引用那个环境。接下来介绍一种自动配置 基于maven构建
-
在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>
-
这样我们在右侧maven的工具就可以看见当前的环境了
-
需要在application.yml 指定文件active的值等于 @profiles.active@
-
同时我们可以获取日志的级别;比如测试环境我需要 debug的日志信息。在线上环境需要error级别