在 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}
在我无法访问的生产机器中被设置为系统 属性。即便如此,解决方案只是将 属性 添加到我的本地开发环境中。
在我开始之前,我已经阅读了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}
在我无法访问的生产机器中被设置为系统 属性。即便如此,解决方案只是将 属性 添加到我的本地开发环境中。