Spring Java Config:PropertyPlaceholderConfigurer" location"当量

时间:2014-09-02 15:39:20

标签: java spring spring-boot

我有一个Spring启动应用程序,我不想注入属性。在我们之前的项目中,我们在PropertyPlaceholderConfigurer中定义了context.xml,以便立即从所有相关模块加载属性文件:

<bean id="propertyPlaceholderConfigurer"
        class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
        <property name="ignoreResourceNotFound" value="true" />
        <property name="systemPropertiesModeName" value="SYSTEM_PROPERTIES_MODE_OVERRIDE" />
        <property name="locations">
            <list>
                <value>classpath:test.properties</value>
                <value>classpath*:/META-INF/*.properties</value>
            </list>
        </property>
    </bean>

现在我正在寻找Java配置风格的有价值的替代方案。我尝试按如下方式注释我的配置类:

@PropertySources(value = { @PropertySource("classpath:application.properties"),
    @PropertySource("classpath*:/META-INF/*.properties") })

@PropertySource注释不喜欢通配符(这有意义,因为它负责获取单个资源)。

任何想法,提示,解决方案?

1 个答案:

答案 0 :(得分:-1)

雅,这很尴尬,因为PropertySource不支持通配符。上一个问题提供了一个合理的解决方案,我已成功使用它。

classpath wildcard in @PropertySource