这是一个读取配置文件的工具包。
下载地址 : http://commons.apache.org/configuration/
A.读取XML配置文件:










测试代码:


































B.读取Properties配置文件:








测试代码:




















































C.常见的配置资源
# PropertiesConfiguration 从一个 property 文件中加载配置 .
# XMLConfiguration 从 XML 文件中加载配置信息 .
# PropertyListConfiguration 从一个 .plist 文件中加载配置信息 . XMLPropertyListConfiguration 也可以读取 XML 被 Mac OSX 使用变量 .
# JNDIConfiguration 利用 jndi 树的一个键值,可以返回一个值,这个值来作为配置信息
# BaseConfiguration 访问内存中的一个配置对象 .
# HierarchicalConfiguration 一个在内存中的配置对象,这个对象可以处理复杂的数据结构 .
# SystemConfiguration 一个利用系统属性的配置信息
# ConfigurationConverter 把 java.util.Properties 或者 org.apache.collections.commons.ExtendedProperties 转化为一个 Configuration 对象
D.混合使用多种资源
经常你希望提供一套基本的配置信息,而且允许用户很容易的根据他们的特有的环境覆盖他们。
一种办法就是载你的代码中队默认值进行硬编码,并且提供一个配置文件来覆盖他们。 这是做法没有一点弹性。替换做法是:运用 CompositeConfiguration 。
CompositeConfiguration config = new CompositeConfiguration();
config.addConfiguration(new SystemConfiguration());
config.addConfiguration(new PropertiesConfiguration("application.properties"));
或者通过ConfigurationFactory这个类 :
ConfigurationFactory factory = new ConfigurationFactory("config.xml");
Configuration config = factory.getConfiguration();
上面的config.xml是一个配置描述符。它定义了将要被装载的配置对象(资源文件),例如:
<?xml version="1.0" encoding="ISO-8859-1" ?>
<configuration>
<system/>
<properties fileName="application.properties"/>
</configuration>
上面的config.xml是一个配置描述符。它定义了将要被装载的配置对象(资源文件),例如:
上面的意思是,我们加载了系统的配置,也加载了application.properties这个文件。
他的优先(precedence)顺序是从前到后。所以在上面的例子中,如果一个属性在系统配置中没有,他将在文件配置中查找。这将允许你在文件配置中设定默认值,而且可以在系统配置中覆盖他们。