gpt4 book ai didi

java - Spring @Value 只使用默认值

转载 作者:行者123 更新时间:2023-12-02 12:17:52 25 4
gpt4 key购买 nike

我正在使用 @Value 向变量注入(inject)一个值。由于某种原因,当我有默认值时,它只使用它,而不是在属性文件中查找它。当我不使用默认值时,它会从属性文件中注入(inject)值。没有更改其他配置。

@Value("${migration.paths:#{'classpath:db/migration'}}")
private String dbMigrationPaths;

(我在默认值中使用 SPEL,因为它有斜杠)

属性文件配置:

 @Bean
public static PropertySourcesPlaceholderConfigurer configDataSourcesPropertyFile() {
PropertySourcesPlaceholderConfigurer bean = new PropertySourcesPlaceholderConfigurer();
bean.setLocations(new ClassPathResource[]{
new ClassPathResource("/file1"),
new ClassPathResource("/file2")
});
bean.setIgnoreUnresolvablePlaceholders(true);
bean.setIgnoreResourceNotFound(true);
return bean;
}

两者都是属性文件,并且相关属性位于 file1 中,而不是 file2

最佳答案

您的项目中有两个属性占位符吗?如果是,您可能遇到了此处记录的此错误:https://jira.spring.io/browse/SPR-9989 。请参阅最后有一个指向建议解决方法的链接。

关于java - Spring @Value 只使用默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46022488/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com