知识卡片
Spring Profile多环境配置的设计思路
内容
同一套代码要跑在开发、测试、生产等不同环境,各环境间的配置项(端口、数据库地址等)注定不同,如果靠手工改配置文件来切换环境,配置项一多就必然出错。Spring Profile的解法是把”环境”抽象成一个独立变量,为每种环境各写一份application-{env}.yml,再通过一个统一入口(spring.profiles.active)声明当前激活哪一份,构建时用打包工具的profile机制把这个变量注入进去,做到”一次构建产物按需切换环境”而不是”每个环境单独改代码”。发散:这是[[外部配置分层覆盖原则]]在”环境”这个维度上的具体应用——把随环境变化的部分完全抽离成独立文件,配置本身也遵循”越具体的场景覆盖越通用的默认值”这条通用原则。
参考来源
《Spring Boot应用开发实战》第7章《部署与运维》