配置混乱是很多 Spring Boot 项目的隐性风险。本地密码写进默认配置、测试环境覆盖生产参数、临时开关忘记关闭,这些问题不一定马上报错,但会在发布时放大。
默认配置只放通用结构
application.yml 适合放通用配置结构、默认端口、日志级别框架和非敏感默认值。真实数据库密码、token、Cookie、私钥不应该写进公共默认配置。
个人本机项目可以保存真实值,但要放在本机私有配置或私有目录里。这样工具能完整运行,源码也不会变成敏感值仓库。
环境配置表达差异
本地、测试、预发、生产应该通过 profile 或外部配置区分。差异配置只写差异,不要复制整份配置文件后各改几行。复制越多,越容易出现某个环境漏改。
配置项要有中文说明,尤其是开关、限流、批量任务、远程写接口和安全边界。后续排查时,注释能直接告诉你这个值为什么存在。
启动时校验关键配置
缺少配置不要等到业务请求进来才报错。启动阶段可以校验数据库连接、必要密钥、目录权限和外部依赖地址。对于可选功能,则要明确禁用状态,不要半初始化。
配置绑定类可以用 @ConfigurationProperties 加校验注解,让配置问题在启动时暴露。这样比在业务代码里到处判断空值更稳。
发布前看配置 diff
每次发布前,除了看代码 diff,也要看配置 diff。尤其是开关、队列名、定时任务、第三方接口、缓存 TTL、线程池大小和日志级别。
配置分层的目标是让环境差异可见、敏感值有边界、错误能提前暴露。做到这三点,很多“只在某个环境出问题”的故障会少很多。
正文完




