一尘不染

最终属性@Value-Java中的Spring属性注入

spring

从属性文件中为最终属性进行Spring注入的一个简单问题。

我有一个属性文件,要在其中存储文件路径。通常,当我使用属性文件时,我会使用类似以下的方法来设置类属性:

private @Value("#{someProps['prop.field']}") String someAttrib ;

然后在我spring.xml我会像这样:

<util:properties id="someProps"   
    location="classpath:/META-INF/properties/somePropFile.properties" />

这很好用,很简单,并且使代码简洁美观。但是我不确定在尝试将属性值注入最终类属性时使用的最整洁的模式是什么?

显然是这样的:

private static final @Value("#{fileProps['dict.english']}") String DICT_PATH; 

不管用。还有另一种方法吗?


阅读 593

收藏
2020-04-20

共1个答案

一尘不染

将值注入最终字段的唯一方法是通过构造函数注入。其他一切对Spring来说都是可怕的。

2020-04-20