Spring Boot使用@Value默认值而非application-local.yml配置值问题
解决@Value注解默认值覆盖配置文件值的问题
- 问题根因:你写的
@Value("${apis.maxNumOfCics : 88}")里,冒号:和配置键之间的空格是核心错误。Spring会把带空格的apis.maxNumOfCics(注意末尾有空格)当作配置键去匹配,而你的yml里是无空格的apis.maxNumOfCics: 20,匹配失败后就触发了默认值88。 - 修复方案:删掉冒号前的空格,改成标准写法:
@Value("${apis.maxNumOfCics:88}") - 验证逻辑:如果要确认空格的影响,你可以临时把yml里的配置改成
apis.maxNumOfCics : 20(加空格),原来的错误写法也能读到值,但这不符合配置文件的规范,所以优先修正@Value的表达式。
内容的提问来源于stack exchange,提问作者Gojo
相关产品推荐
相关产品推荐

