`

Apache Commons Configuration使用入门

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

不过,这并不是一个很新的技巧,在很早的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元

分享到:
评论
6 楼 aaaaaaaaabaas 2014-11-09  
谢谢,对我有帮助
5 楼 luweiwei 2012-03-09  
还不错!!~~~
4 楼 surpass_li 2011-10-15  
不错,很好的组件,了解了,谢谢
3 楼 zhangyou1010 2009-10-16  
飘过,不过感觉简单了点。谢谢了。
2 楼 xiejc 2009-10-14  
很好!!!!
1 楼 xiaomogui 2008-06-23  
不错!!

相关推荐

    struts2项目使用的初级常用jar包

    - `commons-io.jar`:Apache Commons IO库,提供了大量I/O操作的工具类,如文件操作、流操作等。 - `commons-lang3.jar`:Apache Commons Lang库,提供了许多高级字符串和对象操作的工具类。 5. **Servlet容器...

    struct2入门教程

    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "***"&gt; &lt;!-- 配置内容 --&gt; ``` 在开发Struts2应用时,必需的jar文件主要包括: - Struts2-core-2.X.X.jar:包含Struts2框架核心类。 - ...

    hibernate入门

    - `commons-collections-2.1.1.jar`和`commons-logging-1.0.4.jar`:Apache Commons库,提供辅助功能。 - `ehcache-0.9.jar`:默认的二级缓存实现。 - `log4j-1.2.8.jar`(可选):日志记录库,通过Commons ...

    Hibernate入门

    3. `Commons Collections.jar`和`Commons Logging.jar`:Apache Jakarta Commons项目提供的工具类库,被Hibernate用作辅助工具。 4. `ODMG4.jar`:提供ODMG兼容的持久化管理接口,虽然不是必需的,但如果你需要映射...

    struts2入门ppt

    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd"&gt; &lt;!-- Action配置、拦截器配置等 --&gt; ``` **5. HelloWorld示例** 创建一个简单的...

    struts2需要的基本jar包

    9. **commons-logging.jar**:Apache Commons Logging是一个日志抽象层,允许在Struts2中灵活地切换不同的日志实现。 10. **javassist.jar**:Javassist是一个字节码操作库,Struts2用它来动态地修改类和方法,实现...

    Struts2的常量详解

    常见的选项有"cos"(使用COS文件上传库)、"pell"和"jakarta"(使用Apache Commons FileUpload)。如果选择"cos"或"pell",需要添加对应的库文件到Web应用的lib目录。 9. **struts.multipart.saveDir**: 指定上传...

    struts2.0一个简单的入门实例

    以下是一个简单的入门实例,帮助初学者理解如何配置和使用Struts2.0。 首先,我们需要创建一个新的Web项目。在MyEclipse中,你可以新建一个Web项目,例如命名为"Struts2入门实例"。接下来,你需要导入Struts2运行所...

    spring基础配置,运行ok

    此外,`@Configuration`和`@Bean`注解可用于创建数据库连接池,如Apache Commons DBCP或HikariCP。 6. **测试**:在开发过程中,单元测试和集成测试是必不可少的。Spring Boot提供了一套完整的测试框架,包括`@...

    struts2开发文档

    Struts2的依赖库包括Apache Commons Logging、FreeMarker、OGNL、Struts2 Core、xWork和Commons Fileupload等。在Web应用中,需要将这些jar包添加到`WEB-INF/lib`目录下,并在`web.xml`中配置Struts2的...

    jbpm5安装、配置、示例入门

    - `org.apache.servicemix.bundles.commons-dbcp-1.2.2_3.jar` - `commons-pool-1.4.jar` - `subethasmtp-wiser-1.2.jar` - `slf4j-nop-1.5.8.jar` - 数据库驱动(例如`mysql.jar`) - `btm-1.3.jar` - JBPM运行时的...

    jpamUserGuide

    - **Commons Logging**(Commons 日志):介绍了如何使用 Apache Commons Logging 来记录 Java PAM 的日志信息。 - **libjpam.so Debugging**(libjpam.so 调试):指导如何调试 Java PAM 的核心组件 libjpam.so。 -...

    mybatis用户指南

    MyBatis是一款先进的持久层框架,它...MyBatis集成了Apache Commons Logging、Log4j、SLF4J等日志框架,用户可以在MyBatis的配置中启用日志输出,以便于调试和性能监控。日志记录包括SQL语句、参数和运行时间等信息。

    spring-mybatis:Spring与Mybatis集成入门例子

    &lt;bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"&gt; ``` 这里的`basePackage`属性指定了Mapper接口所在的包。 然后,配置Mybatis的全局配置文件`mybatis-config.xml`...

    字数

    在这种情况下,可能需要使用更高级的文本处理库,如Apache Commons Lang的`WordUtils`类或Java 8的`Stream` API。 此外,如果你提到的"WordCount-main"是一个具体的项目或示例,它很可能与大数据处理相关。在Hadoop...

    springmybatis

    (读者注:其实这个应该叫做很基础的入门一下下,如果你看过Hibernate了那这个就非常的简单) (再加一条,其实大家可以看官方的教程更好些:http://mybatis.github.io/mybatis-3/,而且如果英文不是很好的那就看...

Global site tag (gtag.js) - Google Analytics