如何通过前缀获取应用程序属性?

时间:2017-07-04 19:15:53

标签: java spring properties hashmap

我有一个名为FooConfig的注入类,它用于以下列方式获取应用程序属性:

@Value("#{applicationProperties['foo.someProp']}")
private String someProp;

public String getSomeProp() {
    return this.someProp;
}

实际属性位于文件foo.properties中,并以context.xml(通常Spring格式)加载到注入的bean中。

我的问题很简单:我可以通过前缀(或正则表达式)指定属性集合,而不是获取单数值,以便获取Map中匹配的所有属性吗?

E.g。

//@ValueMap is obviously made up for illustration
@ValueMap("#{applicationProperties['foo.prefix.*']}")
private Map<String, String> somePropMap;

public Map<String, String> getSomePropMap() {
    return this.somePropMap;
}

将返回名称以 foo.prefix 开头的所有属性的地图。

我知道我可以让一个方法返回地图,并在其中逐个添加属性,这些属性的连接方式与第一个示例相同,但我正在寻找批量快捷方式。

0 个答案:

没有答案