configuration
来源:互联网 发布:手机视频分享网站源码 编辑:程序博客网 时间:2024/06/02 00:48
Apache commons-configuration 是一个开源组件,可以方便的对项目中的配置文件进行读取和保存,本文只说明如何使用该组件读取项目中的配置文件(以ini、properties、xml文件为例),保存另文描述。
首先,需要添加相关的jar,我使用的是1.7版本,利用maven导入jar包:
<dependency>
<groupId>commons-configuration</groupId>
<artifactId>commons-configuration</artifactId>
<version>1.7</version>
</dependency>
除了commons-configuration.jar以外,maven会自动添加其依赖的相关jar,如commons-collections、commons-lang等。
注意,如果要使用XML作为项目配置文件,并且需要使用XPath对配置文件进行查询的话,还需要添加commons-jxpath组件,利用maven导入jar包:
<dependency>
<groupId>commons-jxpath</groupId>
<artifactId>commons-jxpath</artifactId>
<version>1.3</version>
</dependency>
在src/main/resources下新建一个类,命名为ConfigApp;
在src/main/resources下新建一个config文件夹,在config文件夹中新建三个配置文件:
cfg .ini (ini文件的简述,百度百科:baike.baidu.com/view/509647.htm)
cfg.properites
cfg.xml(1)使用commons-configuration读取properites文件
properties文件是Java平台默认的配置文件格式,其优点是格式清晰,简单易懂,使用commons-configuration读取properties文件也比较简单,代码如下:
注意,这里的路径一定要搞清楚,配置文件是放在config文件夹中的;
(2)使用commons-configuration读取ini文件
ini文件是windows平台上的一种配置文件格式,之所以将读取这种配置文件写在这里是因为:在Eclipse中编辑properties文件时,中文会显示为乱码,但是ini文件不会。读取INI文件的代码也非常简单,代码如下:
(3)使用commons-configuration读取xml文件xml是最常用与配置文件,commons-configuration对xml的支持也非常完善,其读取xml文件有两种方式,一种是简单化的,使用“."作为分隔符,如果配置文件较简单,可以使用这种方式,另一种是使用XPath作为查询方法,在配置文件中进行查询后返回结果,这种方式一般用于较复杂的配置文件。读取xml配置文件的代码如下:
需要注意的是,如果需要使用XPath进行查询,应该先执行方法。(4)组合配置
目前,一般大点的项目都会有多个配置文件,将不同的配置项分类存储于多个配置文件中,这样必然会在项目中包含多个配置类,编写代码与维护都不方便。commons-configuration提供了一种配置组合机制。可以将所有的配置对象组合于一个CompositeConfiguration对象,这样就可以将若干个配置对象组合到一起,只对该组合配置对象进行操作即可。主要代码如下:
其实使用方法非常简单,首先根据需求生成配置对象,一个配置对象一般对应一个配置文件,然后生成一个CompositeConfiguration对象,将这些配置对象add到里面,然后就可以使用类似getString()、getInteger()、getStringArray()、getList()等等方法来操作配置项了。
ConfigApp类的全部代码如下:
- configuration
- configuration
- configuration
- Configuration
- Configuration
- Configuration
- Configuration
- @Configuration
- configuration
- ActiveMQ configuration
- MRTG Configuration
- MA5200G Configuration
- grub4dos configuration
- vim configuration
- Emacs Configuration
- Resource Configuration
- wcf configuration
- dg configuration
- 2017多校7-三道水题
- Node.js模块
- Zipper(动态规划)
- 基础博弈【理解】
- js页面传参
- configuration
- 横竖屏切换时候Activity的生命周期的总结
- ios调用相机,info.plist
- surrounded-regions
- opengl 原理介绍
- Oracle游标
- JVM性能调优监控工具jps、jstack、jmap、jhat、jstat、hprof使用详解
- react入门之使用webpack搭配环境(一)
- 屏幕旋转