您的位置:首页 > 运维架构 > Apache

Apache Commons Configuration使用入门

2016-07-06 11:56 387 查看

Apache Commons Configuration使用入门

标签:
Apache Commons Confi
2016-07-06 11:56
340人阅读 评论(0)
收藏
举报


分类:
java(164)


项目开发过程中不免有许多在运行过程中需要经常改动的参数,比如说数据库的连接参数等。把这些需要经常改动的参数保存在配置文件中,让用户可以修改,这样既增强了项目的适应能力,也减少了我们的维护成本。这种做法不失为一个很好选择。 

不过,这并不是一个很新的技巧,在很早的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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: