Spring Boot 配置分层要避免到处散落
Spring Boot 配置分层要避免到处散落
Spring Boot 项目里配置很容易越写越散:一部分在配置文件,一部分在启动参数,一部分在环境变量,还有一部分写死在代码里。短期能跑,长期会让排查和迁移变困难。
环境配置要分开
不同环境的数据库、缓存、文件存储、第三方服务地址通常不一样。它们应该通过环境配置隔离,而不是靠改代码切换。
环境配置分开后,发布时要确认当前激活的环境和配置来源。很多问题不是配置不存在,而是用了错误环境的配置。
业务配置要可理解
有些配置不是基础设施,而是业务规则,比如开关、阈值、默认策略。这类配置要有清晰命名和说明,最好能集中管理。
如果业务配置散落在代码常量里,后面改规则就需要重新发布,也不容易追踪历史变化。
敏感配置要隔离
密码、令牌、密钥不应该提交到仓库。它们应该通过环境变量、密钥管理或部署平台注入。即使是个人项目,也要养成这个习惯。
敏感配置一旦泄露,补救成本远高于一开始规范管理。
复盘
配置管理的目标是让服务可迁移、可排查、可审计。配置越清楚,部署越稳定。不要等到环境多起来之后,才开始清理散落的配置。
参考
- Spring Boot 外部化配置文档:https://docs.spring.io/spring-boot/reference/features/external-config.html
- Spring Profiles 文档:https://docs.spring.io/spring-boot/reference/features/profiles.html