Apache Commons Configuration使用入门
2016-07-06 11:56
645 查看
项目开发过程中不免有许多在运行过程中需要经常改动的参数,比如说数据库的连接参数等。把这些需要经常改动的参数保存在配置文件中,让用户可以修改,这样既增强了项目的适应能力,也减少了我们的维护成本。这种做法不失为一个很好选择。
不过,这并不是一个很新的技巧,在很早的Windows版本中就有大量的INI文件,还有功能更加强大的注册表。在课堂上我们已经学习了把Oracle的配置参数保存在属性文件(.properties)中,在运行的过程中读取使用,使用也比较简单,只需要查看一下Sun的JDK帮助文档,找到Properties类,使用该类的load()方法加载.properties文件,并用里面提供的getProperties(key)方法读取属性值就可以了。
但是使用properties文件也有它的不足之处,另外一种选择就是把配置参数保存在XML文件中,使用Apache 提供的Commons Configuration进行读取。Configuration可以操作如下类型的文件:
Properties files
XML documents
Windows INI files
Property list files (plist)
JNDI
JDBC Datasource
System properties
Applet parameters
Servlet parameters
今天就给大家举个用Apache Commons Configuration读取XML文件的例子,首先到http://apache.org下载Commons Configuration的jar包,最新版本是commons-configuration-1.5.jar并且还需要同时下载:
commons-lang-2.3.jar
commons-collections-3.2.jar
commons-logging-1.1.1.jar
这三个包是必须的,我下载的都是最新版本,版本不统一可能会出现问题,可以自己试验一下.我用的开发工具是Eclipse3.2。
使用Eclipse创建一个JAVA项目,在项目的根目录下创建一个AppConfig.xml,内容如下:
<?xml version="1.0" encoding="utf-8"?>
<项目配置>
<应用程序配置参数>
<考勤时间>
<上班时间>08:00:00</上班时间>
<下班时间>17:00:00</下班时间>
<迟到矿工时间分界点>08:30:00</迟到矿工时间分界点>
</考勤时间>
<加班费>30</加班费>
<满勤奖>35</满勤奖>
<个人所得税起征额>1000</个人所得税起征额>
</应用程序配置参数>
</项目配置>
然后再创建一个测试类:
package org.xdf.learn.conf;
import org.apache.commons.configuration.ConfigurationException;
import org.apache.commons.configuration.XMLConfiguration;
public class Test {
/**
* @param args
*/
public static void main(String[] args) {
String file = "AppConfig.xml";
try {
XMLConfiguration config = new XMLConfiguration(file);
System.out.println("成功加载:" + file);
String btime = config.getString("应用程序配置参数.考勤时间.上班时间");
double basicm = config.getDouble("应用程序配置参数.个人所得税起征额");
System.out.println("上班时间:" + btime);
System.out.println("个人所得税起征额:" + basicm + "元");
} catch (ConfigurationException e) {
e.printStackTrace();
}
}
}
以下是测试结果:
成功加载:AppConfig.xml
上班时间:08:00:00
个人所得税起征额:1000.0元
http://qingfeng825.iteye.com/blog/180151
不过,这并不是一个很新的技巧,在很早的Windows版本中就有大量的INI文件,还有功能更加强大的注册表。在课堂上我们已经学习了把Oracle的配置参数保存在属性文件(.properties)中,在运行的过程中读取使用,使用也比较简单,只需要查看一下Sun的JDK帮助文档,找到Properties类,使用该类的load()方法加载.properties文件,并用里面提供的getProperties(key)方法读取属性值就可以了。
但是使用properties文件也有它的不足之处,另外一种选择就是把配置参数保存在XML文件中,使用Apache 提供的Commons Configuration进行读取。Configuration可以操作如下类型的文件:
Properties files
XML documents
Windows INI files
Property list files (plist)
JNDI
JDBC Datasource
System properties
Applet parameters
Servlet parameters
今天就给大家举个用Apache Commons Configuration读取XML文件的例子,首先到http://apache.org下载Commons Configuration的jar包,最新版本是commons-configuration-1.5.jar并且还需要同时下载:
commons-lang-2.3.jar
commons-collections-3.2.jar
commons-logging-1.1.1.jar
这三个包是必须的,我下载的都是最新版本,版本不统一可能会出现问题,可以自己试验一下.我用的开发工具是Eclipse3.2。
使用Eclipse创建一个JAVA项目,在项目的根目录下创建一个AppConfig.xml,内容如下:
<?xml version="1.0" encoding="utf-8"?>
<项目配置>
<应用程序配置参数>
<考勤时间>
<上班时间>08:00:00</上班时间>
<下班时间>17:00:00</下班时间>
<迟到矿工时间分界点>08:30:00</迟到矿工时间分界点>
</考勤时间>
<加班费>30</加班费>
<满勤奖>35</满勤奖>
<个人所得税起征额>1000</个人所得税起征额>
</应用程序配置参数>
</项目配置>
然后再创建一个测试类:
package org.xdf.learn.conf;
import org.apache.commons.configuration.ConfigurationException;
import org.apache.commons.configuration.XMLConfiguration;
public class Test {
/**
* @param args
*/
public static void main(String[] args) {
String file = "AppConfig.xml";
try {
XMLConfiguration config = new XMLConfiguration(file);
System.out.println("成功加载:" + file);
String btime = config.getString("应用程序配置参数.考勤时间.上班时间");
double basicm = config.getDouble("应用程序配置参数.个人所得税起征额");
System.out.println("上班时间:" + btime);
System.out.println("个人所得税起征额:" + basicm + "元");
} catch (ConfigurationException e) {
e.printStackTrace();
}
}
}
以下是测试结果:
成功加载:AppConfig.xml
上班时间:08:00:00
个人所得税起征额:1000.0元
http://qingfeng825.iteye.com/blog/180151
相关文章推荐
- Apache Commons Configuration使用入门
- apache commons fileupload 输入输出流API(2016-07-01更新)
- apache commons fileupload 用户手册(2016-07-01更新)
- Apache ActiveMQ实战(1)-基本安装配置与消息类型
- Apache ActiveMQ实战(1)-基本安装配置与消息类型
- apache 中的AB测试
- 新手福利:Apache Spark入门攻略
- Apache commons email 使用过程中遇到的问题
- Apache commons email 使用过程中遇到的问题
- 开源许可证GPL、BSD、MIT、Mozilla、Apache和LGPL的区别
- Windows 下安装Apache web服务器
- CentOS 6.4安装配置LAMP服务器(Apache+PHP5+MySQL)
- Apache shutdown unexpectedly启动错误解决方法
- Apache Kafka - Quick Start on Windows
- CentOS环境下yum安装LAMP(Linux+Apache+Mysql+php)
- 为什么apache要设置虚拟主机
- 【Shiro】Apache Shiro架构之自定义realm
- Apache POI 第四讲之常见操作2
- 用Apache Ivy实现项目里的依赖管理
- Ubuntu下的LAMP环境搭建笔记 (基础向)