java为什么在基于注释的Spring app@Value默认值中解析为null?
在我的类中,我有两个通过@Value注释预先填充的私有字段。尽管正在从中正确读取该值。属性文件,如果在中,则永远不会应用其默认值。属性文件未设置
我已经尝试过创建PropertySourcePlaceHolderConfigurerBean并指定文件的位置:“classpath:application.properties”。这些是我的财产:
@Value("${year:2019}")
private Integer year;
资源/应用程序。特性:
year=
设置年份时,“整年”将收到正确的值。如果它仍然为空,我希望设置默认值(2019),但它仍然为空
Spring版本:5.1.8。释放
# 1 楼答案
它为空,因为属性文件将其设置为空。如果从属性文件中删除year=,则应获得默认值