Spring引导使用默认值,而不是从application-local.yml



我有一个从配置文件中获取值的类,但它不起作用。

@Component
public class InputValidator {
private final Logger log = ESAPI.getLogger(this.getClass());
@Value("${apis.maxNumOfCics : 88}")
private Integer maxNumOfCics;
// some methods
}

我已经配置了一个随机的默认值88,即使我在application-local.yml中将其配置为20,它仍在使用。当我不使用默认值时:

@Value("${apis.maxNumOfCics}")

从application-local获取正确的值。我还将活动配置文件设置为local。拼写是正确的,其他配置值来自yml文件,但当我设置默认值时,它总是采用默认值。对此有任何帮助将不胜感激!

我认为问题是表达式中的空格。尝试删除表达式中:之前和之后的空格。

@Value("${apis.maxNumOfCics:88}")
private Integer maxNumOfCics;

试一试https://www.baeldung.com/spring-value-annotation

中的语法

最新更新