3-2.多环境开发(yaml多文件版)
约 458 字大约 2 分钟
2025-06-23
将所有配置信息放在单个配置文件中,尤其当不同配置应用于不同的场景时,会导致配置文件的臃肿和不合理。因此,将一个配置文件拆分成多个配置文件是一种更优的实践。拆分后,每个配置文件专注于配置其特定的项,而在主配置文件中指明要使用哪个配置文件。
1. 主配置文件
主配置文件用于指定当前激活的环境,从而决定加载哪个环境配置文件。
spring:
profiles:
active: pro # 启动 pro 环境
spring.profiles.active
属性用于指定激活的 profile,这里设置为 pro
,表示激活生产环境配置。
2. 环境配置文件
每个环境配置文件仅包含特定于该环境的配置项,无需在文件中声明环境名称。
application-pro.yaml
server:
port: 80 # 生产环境端口
application-dev.yaml
server:
port: 81 # 开发环境端口
命名规则: 环境配置文件的命名规则为 application-{环境名}.yaml
。例如,application-pro.yaml
对应生产环境,application-dev.yaml
对应开发环境。
3. 配置优先级与覆盖
如果某些配置项在所有环境中都相同,可以将这些配置项写入主配置文件中,作为公共配置。只有那些在不同环境中需要有区别的配置项才应该写入到环境配置文件中。
- 主配置文件: 设置公共配置(全局)。
- 环境分类配置文件: 常用于设置冲突属性(局部),会覆盖主配置文件中的同名属性。
通过以上方式,可以实现灵活、可维护的多环境配置管理。