【问题标题】:Pattern matching for properties in a Java-based Spring configuration基于 Java 的 Spring 配置中属性的模式匹配
【发布时间】:2014-07-29 15:00:42
【问题描述】:

是否可以从基于 Java 的 Spring 4 配置文件中注入与特定 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

    }
}

我一直在查看 Spring EL 表达式,但在自定义 PropertyPlaceholderConfigurer 时也没有成功。 理想情况下,如果 Spring 可以为我完成,我不想再次读取文件并再次处理它。

【问题讨论】:

标签: java spring spring-el spring-java-config


【解决方案1】:

这里有一个解决方法:

扩展PropertyPlaceholderConfigurer 并添加一个方法,该方法为您提供mergeProperties() 的结果。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-11-30
    • 2013-03-13
    • 1970-01-01
    • 2014-07-05
    • 2017-05-23
    • 2014-09-25
    • 2012-02-01
    • 2013-08-19
    相关资源
    最近更新 更多