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

时间:2019-07-09 14:12:45

标签: java spring properties core

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

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

@Value("${year:2019}")
private Integer year;

resources / application.properties:

year=

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

春季版本:5.1.8。释放

1 个答案:

答案 0 :(得分:2)

它为null,因为您的属性文件将其设置为空白。如果从属性文件中删除year =,则应获得默认值。