基于Java的Spring配置中属性的模式匹配

基于Java的Spring配置中属性的模式匹配,java,spring,spring-el,spring-java-config,Java,Spring,Spring El,Spring Java Config,是否可以从基于Java的Spring4配置文件中插入与特定reg exp模式匹配的属性列表 例如,给定的属性文件包含: prefix.prop1=value1 prefix.prop2=value2 prefix.prop3=value3 other.property=someothervalue 理想情况下,我希望将prefix.*属性注入bean中,例如映射 @Configuration public class AppConfiguration{ public valueMap

是否可以从基于Java的Spring4配置文件中插入与特定reg exp模式匹配的属性列表

例如,给定的属性文件包含:

prefix.prop1=value1
prefix.prop2=value2
prefix.prop3=value3
other.property=someothervalue
理想情况下,我希望将prefix.*属性注入bean中,例如映射

@Configuration
public class AppConfiguration{

    public valueMap(@Value(?prefix.*?) Map<String, String> propertyMap) {

        //where propertyMap would contain key/values : 
        //prop1, value1 ; prop2, value2 ; prop3, value3

    }
}
@配置
公共类应用程序配置{
公共价值映射(@Value(?前缀。*?)映射属性映射){
//其中propertyMap将包含键/值:
//prop1,值1;prop2,值2;prop3,值3
}
}
我一直在研究SpringEL表达式,但在定制PropertyPlaceHolderConfigure方面也没有成功。 理想情况下,如果Spring可以为我做的话,我不想再次读取文件并再次处理它

这里有一个解决方法:

扩展
propertyplaceholderconfigure
并添加一个方法,该方法提供
mergeProperties()
的结果


然后,您可以将这个新bean注入您的
AppConfiguration
,迭代属性并过滤带有前缀的属性。

您可以在Spring Boot中执行此操作-请参阅