apache commons组件学习系列之configuration库

Apache Commons Configuration库提供多种配置文件的读写,支持属性插值、类型转换和线程安全。文章涵盖基础介绍、XML配置、属性操作、组合配置、数据源配置及线程安全性等内容,适合了解和使用该组件。
摘要由CSDN通过智能技术生成

commons configuration库允许application从不同形式的配置文件中读写配置数据。

它不仅可以从properties,xml,ini文件读取配置,支持变量插值,

还可以从系统配置,Servlet参数中读取配置。

更可以通过JDBC或者JNDI数据源读写数据库中的配置。

也可以组合多种配置文件同时使用。

同时支持文件中的变量插值,自动类型转换,还可支持jexl表达式语言等,同时你可以自由定制各种行为以满足您的需求。

非常强大,使用也非常简单。

注意本文基于的是Apache Commons Configuration组件1.10版本而言的。

Configuration 2.0版本还在开发中,没有正式发布。

Configuration 2.0 SVN Checkout地址:http://svn.apache.org/viewvc/commons/proper/configuration/trunk/

但是目前为止已经发布了2.0-SANPSHOT版本,可惜不对外公布。我们可以通过以下连接获取:

2.0-SNAPSHOT:https://repository.apache.org/content/repositories/snapshots/commons-configuration/commons-configuration/2.0-SNAPSHOT/

由于2.0-SNAPSHOT接口很不完整,所以千万别看完此文后去尝试2.0版本。

以下均为基于1.X版本而言。2.0版本中的在此处介绍的有些特性还没有完全实现。


注意:任何针对1.X版本中的写操作都是非线程安全的。

一基础介绍:

例如:

Double double = config.getDouble("number");
Integer integer = config.getInteger("number");

1.组件支持的配置文件形式有如下几种:

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

当然你也可以通过DefaultConfigurationBuilder新版API不再推荐使用ConfigurationFactory)和CompositeCOnfiguration组合使用多种形式的配置。(如,system配置和xml文件配置一起使用)

当然如果你有特殊需要可以继承AbstractConfiguration or AbstractFileConfiguration来读取你自己格式的配置文件,

以上所有的配置文件我们都可以一致地通过Configuration接口来进行操作。


2.下面我们说一下混合多重配置形式的方式:

第一种方式:

需要的类:CompositeConfiguration,

CompositeConfiguration config = new CompositeConfiguration();
config.addConfiguration(new SystemConfiguration());
config.addConfiguration(new PropertiesConfiguration("application.properties"))

第二种方式:使用DefaultConfigurationBuilder(ConfigurationFactory现在已不推荐)

DefaultConfiguration主要用于复杂项目中多个配置文件的读取。注意:DefaultConfiguration只能使用多配置文件的配置文件来初始化。

所以在使用时一定要提供一个配置文件的配置文件。对,你没看错。

DefaultConfigurationBuilder builder = new DefaultConfigurationBuilder("config.xml");
Configuration config = builder.getConfiguration<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值