Spring 如何为不同的环境加载不同的弹簧属性

Spring 如何为不同的环境加载不同的弹簧属性,spring,properties,placeholder,Spring,Properties,Placeholder,我有两个属性文件。main.properties文件定义了一个字段 环境=开发 文件:${catalina.home}/conf/main.properties WEB-INF/project.${environment}.properties 然而,我得到了这个: 无法打开ServletContext资源[/WEB-INF/project.${environment}.properties] 有人知道如何修复吗?你确定这是可能的吗?如果我没有弄错的话,这些值将被一个BeanFactory

我有两个属性文件。main.properties文件定义了一个字段

环境=开发



文件:${catalina.home}/conf/main.properties
WEB-INF/project.${environment}.properties
然而,我得到了这个: 无法打开ServletContext资源[/WEB-INF/project.${environment}.properties]


有人知道如何修复吗?

你确定这是可能的吗?如果我没有弄错的话,这些值将被一个
BeanFactoryPostProcessor
替换,并且在完成替换之前必须加载属性文件。一条非主题注释:从Spring3.1开始,建议使用依赖于不同实现类的
<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
        <property name="locations">
            <list>
                <value>file:${catalina.home}/conf/main.properties</value>
        <value>WEB-INF/project.${environment}.properties</value>
            </list>
        </property>