我有一个要求,需要将我们所有的属性文件存储在一个目录中。该目录的位置应存储在系统环境变量中。在我的应用程序上下文中,我需要访问此环境变量以创建FileSystemResource bean。这是我通常的做法示例:
<bean id="properties" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
<bean class="org.springframework.core.io.FileSystemResource">
<constructor-arg>
<value>myprops.properties</value>
</constructor-arg>
</bean>
</property>
</bean>
相反,我需要把它变成类似于:
<value>${prop_file_location}/myprops.properties</value>
其中prop文件的位置是一个环境变量。有没有简单的方法可以实现这个呢?
我正在使用Spring 2.5.6和Java 1.6。
@PropertySources
提供了一种基于Java配置的方法来实现此功能:@Configuration @PropertySources({ @PropertySource("default.properties"), @PropertySource(value = "file:${CONF_DIR}/optional-override.properties", ignoreResourceNotFound = true) } public class ApplicationConfig { }
- chrisjleu