Spring Boot 多环境配置
多配置文件优先级
在 Spring Boot 中,可以通过多个配置文件来管理不同环境(如开发、测试、生产)的设置。为了测试这些配置文件的优先级,我们可以在不同的位置设置不同的端口号,然后查看哪个端口号被实际加载。
server:port: 8081
优先级结果如下图所示:
配置文件的优先级顺序为:
- 优先级1:项目路径下的 config 文件夹中的配置文件
- 优先级2:项目路径下的配置文件
- 优先级3:资源路径下的 config 文件夹中的配置文件
- 优先级4:资源路径下的配置文件
注意:如果同时存在 YAML 和 properties 配置文件,并且没有激活其他环境,默认会使用 properties 配置文件中的设置。
YAML 的多文档块配置
在 YAML 文件中,可以通过多文档块来定义不同的环境配置。每个文档块之间使用三个破折号(---)分隔。
server:port: 8081
spring:profiles:active: prod---
server:port: 8083
spring:profiles: dev ---
server:port: 8084
spring:profiles: prod
通过上述配置,可以灵活地切换不同环境的设置。例如,当激活 `prod` 环境时,应用将使用 8081 端口;当激活 `dev` 环境时,应用将使用 8083 端口。