使用Apache commons-configuration读取配置文件,


使用Apache commons-configuration读取配置文件

            Apache Commons Configuration是一个java应用程序的配置管理类库。可以从properties或者xml文件中加载软件的配置信息,用来构建支撑软件运 行的基础环境。在一些配置文件较多较的复杂的情况下,使用该配置工具比较可以简化配置文件的解析和管理。也提高了开发效率和软件的可维护性。

    下面举个例子,其实Apache官网也有例子,可以前去看看。   http://commons.apache.org/proper/commons-configuration/index.html

config.properties

############ platform  平台 ################
## platform --> windows
## platform --> linux
qiuzhping.platform=1
############ key  环境变量名字 ################
qiuzhping.key=path
############存放临时文件地址 ###################
qiuzhping.tempdir=c:/paths


config.xml

<?xml version="1.0" encoding="UTF-8" ?>
<config>
    <database>
        <name>dev</name>
        <url>127.0.0.1</url>
        <port>1521</port>
        <login>root</login>
        <password>123456</password>
    </database>
</config>

测试程序:这两个属性文件和这个Java类处于同一文件夹内。

/*
* System Abbrev :
* system Name  :
* Component No  :
* Component Name:
* File name     :TestConfiguration.java
* Author        :Qiuzhping
* Date          :2016年1月31日
* Description   :  <description>
*/

/* Updation record 1:
 * Updation date        :  2016年1月31日
 * Updator          :  Qiuzhping
 * Trace No:  <Trace No>
 * Updation No:  <Updation No>
 * Updation Content:  <List all contents of updation and all methods updated.>
 */
package com.qiuzhping.test;

import org.apache.commons.configuration.CompositeConfiguration;
import org.apache.commons.configuration.PropertiesConfiguration;
import org.apache.commons.configuration.XMLConfiguration;

/**
 * <Description functions in a word>
 * <Detail description>
 * 
 * @author  Qiuzhping
 * @version  [Version NO, 2016年1月31日]
 * @see  [Related classes/methods]
 * @since  [product/module version]
 */
public class TestConfiguration {

	/** <Description functions in a word>
	 * 
	 * <Detail description>
	 * @author Qiuzhping
	 * @param args
	 * @see [Related classes#Related methods#Related properties]
	 */
	public static void main(String[] args) {
		try {
			CompositeConfiguration config = new CompositeConfiguration();
			config.addConfiguration(new PropertiesConfiguration(
					TestConfiguration.class.getResource("config.properties")
							.getPath()));
			config.addConfiguration(new XMLConfiguration(
					TestConfiguration.class.getResource("config.xml")
							.getPath()));
			System.out.println(config.getString("qiuzhping.platform"));
			System.out.println(config.getString("database.url"));
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

}
输出:

1
127.0.0.1

个人感觉这个挺好用的,比原生Java的Properties扩展了很多内容。


相关内容

    暂无相关文章