1. 从环境变量中读取路径:
<bean id="envPath" class="org.springframework.beans.factory.config.MethodInvokingFactoryBean"> <property name="targetObject"> <!-- System.getProperties() --> <bean class="org.springframework.beans.factory.config.MethodInvokingFactoryBean"> <property name="targetClass" value="java.lang.System" /> <property name="targetMethod" value="getProperties" /> </bean> </property> <property name="targetMethod" value="getProperty" /> <property name="arguments" value="env.home"> </property> </bean>
2. 配置动态读取:
<bean id="dynamic.upload.config" class="org.apache.commons.configuration.PropertiesConfiguration" init-method="load"> <property name="fileName" value="#{envPath}\properties\upload\upload-config.properties"/> <property name="reloadingStrategy"> <bean class="org.apache.commons.configuration.reloading.FileChangedReloadingStrategy"/> </property> </bean>
3. 需要引入jar包 commons-configuration
<dependency> <groupId>commons-configuration</groupId> <artifactId>commons-configuration</artifactId> <version>${commons.configuration-version}</version> </dependency>