动态加载属性文件

动态加载属性文件例子:

 

java应用:

package com.zzt.application;

import java.io.File;

import org.apache.commons.configuration.CombinedConfiguration;
import org.apache.commons.configuration.ConfigurationException;
import org.apache.commons.configuration.DefaultConfigurationBuilder;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

public class ConfigReader {

	private static final String FILE_NAME = "/config.xml";

	public static final Log log = LogFactory.getLog(ConfigReader.class);

	public static CombinedConfiguration config;

	private ConfigReader() {
	}

	static {
		DefaultConfigurationBuilder builder = new DefaultConfigurationBuilder();
		builder.setFile(new File(FILE_NAME));
		try {
			config = builder.getConfiguration(true);
		} catch (ConfigurationException e) {
			log.error("read config file unsuccessfully!", e);
		}
	}

	public static String getProperty(String configName, String key, String defaultValue) {
		return config.getConfiguration(configName).getString(key, defaultValue);
	}

	public static String[] getPropertyAsArray(String configName, String key) {
		return config.getConfiguration(configName).getStringArray(key);
	}

}

 

config.xml:  

<?xml version="1.0" encoding="UTF-8"?>

<configuration>
	<header>
		<result delimiterParsingDisabled="true" forceReloadCheck="true">
			<expressionEngine config-class="org.apache.commons.configuration.tree.xpath.XPathExpressionEngine" />
		</result>
	</header>
	<override>
		<properties fileName="main.properties" throwExceptionOnMissing="true" config-name="main" config-optional="true">
			<reloadingStrategy refreshDelay="30000" config-class="org.apache.commons.configuration.reloading.FileChangedReloadingStrategy" />
		</properties>
	</override>
</configuration>

 

 

调用:

String xx= ConfigReader.getProperty("main", "xxx", "x");

 

需要引入的包:

commons-configuration-1.6.jar

commons-logging.jar

commons-lang.jar

commons-collections.jar

commons-beanutils.jar

commons-jxpath-1.3.jar

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值