首页 > 代码库 > apache commons 之 commons-configuration

apache commons 之 commons-configuration

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内容如下:

<?xmlversion="1.0"encoding="utf-8"?>

<项目配置>  

  <公司名称>中国电信</公司名称>

  <应用程序配置参数>

     <人员名称>范芳铭</人员名称>

     <workNo>31000696</workNo>

    <考勤时间>

      <上班时间>08:30:00</上班时间>

      <下班时间>17:00:00</下班时间>

      <迟到矿工时间分界点>08:45:00</迟到矿工时间分界点>

    </考勤时间>

  </应用程序配置参数>

</项目配置>

 

apache commons 之 commons-configuration