有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java为什么在基于注释的Spring app@Value默认值中解析为null?

在我的类中,我有两个通过@Value注释预先填充的私有字段。尽管正在从中正确读取该值。属性文件,如果在中,则永远不会应用其默认值。属性文件未设置

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

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

资源/应用程序。特性:

year=

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

Spring版本:5.1.8。释放


共 (1) 个答案

  1. # 1 楼答案

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