`
kuyuyingzi
  • 浏览: 53393 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

使用commons configuration管理配置文件

 
阅读更多

Commons Configuration是一个java应用程序的配置管理类库。可以从properties或者xml文件中加载软件的配置信息,用来构建支撑软件运 行的基础环境。在一些配置文件较多较的复杂的情况下,使用该配置工具比较可以简化配置文件的解析和管理。也提高了开发效率和软件的可维护性。

官方主页:http://commons.apache.org/configuration/

它目前支持的配置文件格式有:

Properties files
XML documents
Windows INI files
Property list files (plist)
JNDI
JDBC Datasource
System properties
Applet parameters
Servlet parameters

我使用的是目前最新版本1.9,以调用 Properties格式的文件为例,使用方法如下:

基本用法:

1.加载jar包,我使用maven自动加载,pom.xml配置如下:

<dependency>
	<groupId>commons-configuration</groupId>
	<artifactId>commons-configuration</artifactId>
	<version>1.9</version>
</dependency>
<!-- commons-configuration 自动加载的是2.1的版本,编译时会报错,所以再加上这个 -->
<dependency>
	<groupId>commons-lang</groupId>
	<artifactId>commons-lang</artifactId>
	<version>2.6</version>
</dependency>

common-lang这个包要用新版的,如果不写这个依赖,commons-configuration会下载一个2.1旧版,导致编译出错



2.java代码:

PropertiesConfiguration config = new PropertiesConfiguration(“/database.properties”);
String userName = config.getString("name");

除了getString()方法外,还有getBoolean,getDouble,getInteger等不同返回类型的方法可以调用。


进阶用法:

一个项目有会有多个配置文件,这时有个统一的配置文件管理类就很有必要了,我写了一个简单的,大家可以参考下,有不妥的用法也请指出来

1.java类

package com.xxx.xxx.util;

import java.util.HashMap;
import java.util.Map;

import org.apache.commons.configuration.ConfigurationException;
import org.apache.commons.configuration.PropertiesConfiguration;
/**
 * <p>
 * 读取配置文件类
 * </p>
 * <p>
 * 根据配置文件名和属性key返回属性内容,configUtil.get(configFile, property);
 * </p>
 * @author shengzhi.rensz
 *
 */
public class configUtil {

	private static configUtil initor = new configUtil();   
    
    private static Map<String, Object> configMap = new HashMap<String, Object>();
    
    private configUtil() {}
    
    /**
     * 获取内容
     * @param configFile
     * @param property
     * @return
     */
    public static String get(String configFile, String property) {   
    	if(!configMap.containsKey(configFile)) {   
           initor.initConfig(configFile);
        }
    	PropertiesConfiguration config = (PropertiesConfiguration) configMap.get(configFile);
    	String value = config.getString(property);
    	//TODO LOG
        return value;   
    }   
    
    /**
     * 载入配置文件,初始化后加入map
     * @param configFile
     */
    private synchronized void initConfig(String configFile) {    
        try {
        	PropertiesConfiguration config = new PropertiesConfiguration(configFile);
			configMap.put(configFile, config);
			
		} catch (ConfigurationException e) {
			e.printStackTrace();
		}
    }   
}

2.调用方法

configUtil.get("/common/velocity.properties", "input.encoding");


分享到:
评论

相关推荐

    commons-configuration代码实例

    commons configuration读取配置文件的例子,包括properties文件,ini文件和xml文件

    apache commons configuration 学习

    apache commons 工具包中提供的一个针对配置文件动态修改的工具类

    commons-configuration2-2.0.jar

    commons-configuration2-2.0.jar Apache commons-configuration 读取配置文件

    commons-configuration2-2.1-bin.zip

    configuration包读取配置文件,配置文件一般常见的有两种:键值对格式,或XML配置文件,读取这类配置文件可以用Commons Configuration包。

    commons-configuration2:共用叉配置2

    Apache Commons Configuration2 有助于读取各种格式的配置/首选项文件的工具文献资料可以在上找到更多信息。 可以浏览 。 与Apache Commons Configuration的使用有关的问题应张贴到。在哪里可以获得最新版本? 您...

    apache-commons源码及jar文件

    Commons-Digester 是一个 XML-Java对象的映射工具,用于解析 XML配置文件. Discovery Commons-Discovery 提供工具来定位资源 (包括类) ,通过使用各种模式来映射服务/引用名称和资源名称。. EL Commons-EL 提供在...

    加载配置文件的方式(java[Properties,InputStream]与apache-commons-configuration组件)

    NULL 博文链接:https://liuzidong.iteye.com/blog/776730

    Configuration对properties、xml配置文件的【增删改查】及动态加载

    Apache Commons Configuration对properties、xml配置文件的【增删改查】及动态加载小案例。小编也是找了网上很多资源,综合研究了一下。被怪我黑!!!

    解析配置文件所需jar包

    commons-configuration.jar 解析配置文件(properties、xml)所需jar包

    配置文件读取JAVA工具类

    系统开发的时候,都会涉及到一些配置文件的读取,为方便从配置文件中读取我们预先设置的值,我做了一个简单配置...这个类主要基于apache开源项目commons-configuration,附件是该工具类完整代码,仅供大家学习使用。

    commons-configuration2-2.7.jar

    配置文件读取工具库,支持很多配置文件格式

    SpringCommonsConfiguration:Spring集中式配置

    Spring Commons Configuration(集中式通用配置) 使用的技术A)Spring 4.2 B)Apache Commons配置C)MySql D)Spring集成(Apache Commons) ... 支持多种配置文件/环境配置。 只需插入jar并转到集中配置即可。

    Java读取properties配置文件时,出现中文乱码的解决方法

    下面小编就为大家带来一篇Java读取properties配置文件时,出现中文乱码的解决方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    定时移除指定表的重复信息

    此模块使用的commons-configuration 来实现读取xml配置文件,使用quartz来实现定时任务,根据配置文件的配置信息来实现对指定表的信息重复数据的移除。

    Java开发常用jar包

    9.commons-Configuration.jar:一个java应用程序的配置管理类库 10.commons-Betwixt.jar:XML与Java对象之间相互转换。 11.commons-dbcp.jar:是一个依赖Jakarta commons-pool对象池机制的数据库连接池,Tomcat的数据...

    最新Hibernate jar 架包(9个)

    dom4j-1.6.1.jar dom4j是一个Java的XML API,类似于jdom, 用来读写XML文件的,这是必须使用的jar包,Hibernate用它来读写配置文件 commons-collections-3.2.jar Apache Commons包中的一个, 包含了一些Apache开发的...

    Spring 2.0 开发参考手册

    9.9.1. 对一个特定的 DataSource 使用错误的事务管理器 9.10. 更多的资源 10. DAO支持 10.1. 简介 10.2. 一致的异常层次 10.3. 一致的DAO支持抽象类 11. 使用JDBC进行数据访问 11.1. 简介 11.1.1. Spring ...

    Spring-Reference_zh_CN(Spring中文参考手册)

    9.9.1. 对一个特定的 DataSource 使用错误的事务管理器 9.10. 更多的资源 10. DAO支持 10.1. 简介 10.2. 一致的异常层次 10.3. 一致的DAO支持抽象类 11. 使用JDBC进行数据访问 11.1. 简介 11.1.1. Spring JDBC包结构...

    Spring中文帮助文档

    9.9.1. 对一个特定的 DataSource 使用了错误的事务管理器 9.10. 更多的资源 10. DAO支持 10.1. 简介 10.2. 一致的异常层次 10.3. 一致的DAO支持抽象类 11. 使用JDBC进行数据访问 11.1. 简介 11.1.1. 选择一...

Global site tag (gtag.js) - Google Analytics