spring利用commons-configuration2库读取property配置文件

本工具使用maven为包管理器,maven依赖如下<!-- https://mvnrepository.com/artifact/org.apache.commons/commons-configuration2 --><dependency> &a
摘要由CSDN通过智能技术生成
一、commons-configuration2简介和maven依赖

commons-configuration2是很好用的配置文件读取工具库,支持很多配置文件格式,实际开发中常见的配置文件也就是property类型(后缀:.properties)。commons-configuration2较commons-configuration有很大改进,更好的支持配置自动重载,可以在不关闭服务器/应用程序的情况下直接修改配置文件,commons-configuration2自动读取修改后的配置,从而达到在不关闭服务器/应用程序的条件下调整程序流程和走向的目的。
commons-configuration2需要如下maven依赖:

<!-- https://mvnrepository.com/artifact/org.apache.commons/commons-configuration2 -->
<dependency>
	<groupId>org.apache.commons</groupId>
	<artifactId>commons-configuration2</artifactId>
	<version>2.4</version>
</dependency>
<!-- https://mvnrepository.com/artifact/commons-beanutils/commons-beanutils -->
<dependency>
	<groupId>commons-beanutils</groupId>
	<artifactId>commons-beanutils</artifactId>
	<version>1.9.3</version>
</dependency>

二、读取property配置和自动重载配置

我将读取property配置的功能封装成了一个spring bean,代码如下。该代码可直接粘贴复制拿来用,(需要将如下代码放到spring bean扫描路径上)或者(注释掉@Component注解然后将如下代码手动配置成spring bean)。总之不管怎样,只要能将如下代码做成一个spring管理的bean即可。如下代码有详细注释,配置自动重载功能在代码中有体现,详见注释(代码中写的是5秒钟检测一次配置是否需要重载,可自己根据实际情况修改为其他值)。

package com.szq.learn.springcomponent;

import java.io.File;
import java.util.HashMap;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
import java.util.concurrent.TimeUnit;

import javax.annotation.PreDestroy;

import org.apache.commons.configuration2.ConfigurationUtils;
import org.apache.commons.configuration2.ImmutableConfiguration;
import org.apache.commons.configuration2.PropertiesConfiguration;
import org.apache.commons.configuration2.builder.ReloadingFileBasedConfigurationBuilder;
import org.apache.commons.configuration2.builder.fluent.Parameters;
import org.apache.commons.configuration2
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值