配置动态读取(变化)文件 in Spring

本文介绍如何使用Spring框架从环境变量中读取路径,并基于该路径动态加载配置文件。通过配置`MethodInvokingFactoryBean`来获取系统属性,再利用`PropertiesConfiguration`类动态加载配置,实现配置文件的热更新。

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>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值