使用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扩展了很多内容。