在 Spring PropertyPlaceholderConfigurer 中配置局部变量

Configure local variable in Spring PropertyPlaceholderConfigurer

在我开始之前,我已经阅读了this and this,但仍然没有弄清楚问题。

我有一个 Spring 应用程序(您很快就会意识到我的 Spring 知识不是很丰富)和四个不同的环境(测试、生产...)。之前,我在 PropertyPlaceholderConfigurer 中使用的属性文件对所有这些文件都是相同的。但现在我想改变它,让每个环境的属性都略有不同。为此,我向 value 添加了一个 environment 变量,以便它在 servlet.xml.

中获取正确的属性文件
<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
  <property name="locations">
     <list>
        <value>classpath:circuitbreaker.properties</value>
        <value>classpath:${environment}.trackinganonymisation.properties</value>
        <value>classpath:runtime.properties</value>
     </list>
  </property>
</bean>

我的问题是:在哪里设置 environment 变量,以便用环境值填充它?

原来解决方案已经到位了,我不知道。 ${environment} 在我无法访问的生产机器中被设置为系统 属性。即便如此,解决方案只是将 属性 添加到我的本地开发环境中。