Apache commons configuration简介和简单代码
Apache commons configuration最新的版本是2.0alpha,为了安全起见,我们用的是1.1正式版本,最主要的作用是读取资源文件,每一种文件格式都有一个对应的类,如下 :
· Properties files
· XML documents
· Windows INI files
· Property list files (plist)
· JNDI
· JDBC Datasource
· System properties
· Applet parameters
· Servlet parameters
利用configuration可以比较简单的获取一些配置信息,一个简单的源代码例子:
packagetest.ffm83.commons.configuration;
importorg.apache.commons.configuration.CompositeConfiguration;
importorg.apache.commons.configuration.ConfigurationException;
importorg.apache.commons.configuration.PropertiesConfiguration;
/**
* 通过commons configuration进行简单的配置
*
* @author 范芳铭
*/
public classConfigurationUsage {
public static void main(String[] args){
String jdbcUrl =propManager.getInstance().getProperty("jdbc.cms.url");
String jdbcUsername =propManager.getInstance().getProperty(
"jdbc.cms.username");
String jdbcPassword =propManager.getInstance().getProperty(
"jdbc.cms.password");
System.out.println("jdbcUrl:"+ jdbcUrl);
System.out.println("jdbcUsername:"+ jdbcUsername);
System.out.println("jdbcPassword:"+ jdbcPassword);
}
private ConfigurationUsage() {
}
private static ConfigurationUsagepropManager;
public synchronized staticConfigurationUsage getInstance() {
if (propManager == null) {
propManager = newConfigurationUsage();
}
return propManager;
}
public static CompositeConfigurationconfig = new CompositeConfiguration();
static {
try {
config.addConfiguration(newPropertiesConfiguration(
"ffm.properties"));
} catch(ConfigurationException e) {
e.printStackTrace();
}
}
public String getProperty(String key) {
return config.getString(key);
}
}
运行结果如下:
jdbcUrl:root
jdbcUsername:fanfangming
jdbcPassword:ffm
"ffm.properties"配置文件的内容如下:
jdbc.cms.url=root
jdbc.cms.username=fanfangming
jdbc.cms.password=ffm
Apache commons configuration对XML的配置文件处理也很方便快捷,下面是用configuration读取XML的源代码
package test.ffm83.commons.configuration;
import org.apache.commons.configuration.ConfigurationException;
import org.apache.commons.configuration.XMLConfiguration;
/**
* 通过commons configuration进行简单的XML配置
* XML可以用中文,也可以用英文,但是不能用全角字符
* @author范芳铭
*/
public
classConfigurationXmlUsage {
public
static void main(String[] args) {
Stringfile = "ffm.xml";
try{
XMLConfigurationconfig = newXMLConfiguration(file);
System.out.println("配置文件 "+ file+
" 加载成功");
System.out.println("公司名称:" + config.getString("公司名称"));
System.out.println("人员名称:" + config.getString("应用程序配置参数.人员名称"));
System.out.println("人员工号:" + config.getString("应用程序配置参数.workNo"));
System.out.println("上班时间:" + config.getString("应用程序配置参数.考勤时间.上班时间"));
}catch(ConfigurationExceptione){
e.printStackTrace();
}
}
}
运行结果如下
配置文件 ffm.xml加载成功
公司名称:中国电信
人员名称:范芳铭
人员工号:31000696
上班时间:08:30:00
配置文件ffm.xml内容如下:
<?xml
version="1.0"encoding="utf-8"?>
<项目配置>
<公司名称>中国电信</公司名称>
<应用程序配置参数>
<人员名称>范芳铭</人员名称>
<workNo>31000696</workNo>
<考勤时间>
<上班时间>08:30:00</上班时间>
<下班时间>17:00:00</下班时间>
<迟到矿工时间分界点>08:45:00</迟到矿工时间分界点>
</考勤时间>
</应用程序配置参数>
</项目配置>