猿问

为什么在基于注释的 Spring 应用程序中 @Value 默认值被解析为 null?

在我的班级中,我有 2 个通过 @Value 注释预填充的私有字段。尽管可以从 .properties 文件中正确读取值,但如果在 .properties 文件中未设置默认值,则永远不会应用该值。


我尝试创建 PropertySourcesPlaceholderConfigurer bean 并指定文件的位置:“classpath:application.properties”。这些是我的属性:


@Value("${year:2019}")

private Integer year;

资源/application.properties:


year=

设置年份后,整数年份会收到正确的值。如果它仍然为空,我希望设置默认值 (2019),但它仍然为空。


春季版本:5.1.8.RELEASE


肥皂起泡泡
浏览 157回答 1
1回答

PIPIONE

它为空,因为您的属性文件将其设置为空白。如果您从属性文件中删除 year= ,您应该获得默认值。
随时随地看视频慕课网APP

相关分类

Java
我要回答