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元
Apache Commons Configuration使用入门相关推荐
- 使用Apache Commons Configuration读取配置信息
2019独角兽企业重金招聘Python工程师标准>>> 在项目中使用一些比较新的库总会给你带来很多快乐,在这篇文章中,我将会给你介绍一个在Java中读取配置文件的框架--Apache ...
- intellij中出現java.lang.NoClassDefFoundError: org/apache/commons/configuration/Configuration解決方案
完整报错如下: Using Spark's default log4j profile: org/apache/spark/log4j-defaults.properties 19/03/06 19: ...
- 『Java CVE』CVE-2022-33980: Apache Commons Configuration 读文件RCE
文章目录 影响版本 漏洞原理(机翻自CVE页面) 漏洞复现 环境配置 jdk版本 pom.xml 基本使用demo PoC 代码审计 对生产环境的影响 漏洞修复 参考 完 影响版本 Apache Co ...
- [转]Apache Commons IO入门教程
Apache Commons IO是Apache基金会创建并维护的Java函数库.它提供了许多类使得开发者的常见任务变得简单,同时减少重复(boiler-plate)代码,这些代码可能遍布于每个独立的 ...
- Commons Configuration 学习
注释:此文档属于原英文帮助文档翻译,可能有些不准确或遗漏 一.介绍 我们可以使用Commons Configuration 访问在属性文件和XML文件在存储的内容.Commons Configurat ...
- Apache Commons DbUtils 入门
一.概述 DbUtils小巧的Java数据库操作工具,它在JDBC的基础上做了科学的封装,旨在简化JDBC代码混乱与重复. 对于JDBC代码,存在很多问题,算是对Java的批判: 1.操作过程复杂,代 ...
- java Apache Commons jar包简介
一.Commons BeanUtils 说明:针对Bean的一个工具集.由于Bean往往是有一堆get和set组成,所以BeanUtils也是在此基础上进行一些包装. 二.Commons CLI 说明 ...
- 编写更少量的代码:使用apache commons工具类库
Commons-configuration Commons-FileUploadCommons DbUtilsCommons BeanUtils Commons CLI Commons CodecCo ...
- Apache Commons 工具集使用简介
为什么80%的码农都做不了架构师?>>> Apache Commons包含了很多开源的工具,用于解决平时编程经常会遇到的问题,减少重复劳动.我选了一些比较常用的项目做简单介绍. ...
最新文章
- [转载]web集群时利用memcache来同步session
- jenkins 命令找不到
- 批量选中删除(包含全选)---jsp,servlet
- TensorFlow(二)函数基础
- C++(STL):13--- list插入和访问元素
- java 数组 截取_Java成长孵化园---认识java(day09)
- 测试类报错:空指针异常
- 避免sql注入的方法
- PHP 发送谷歌邮箱
- 群晖NAS教程(二十三)、利用Docker安装mysql8,并使用ipv6和域名访问
- ClickHouse压缩率
- 两种常见的周期性特征,时序必知强特
- 【懒人福利】自动记录操作步骤
- vue3结合ts开发,导入vue文件,页面报红色的波浪线
- 借助gdb调试glibc代码学习House of Orange
- 考虑题4所示的日志记录_福建省厦门双十中学2016届高三上学期中考试地理【解析】...
- 第4章第11节:图表:使用柱形图表制作学生成绩表 [PowerPoint精美幻灯片实战教程]
- 苹果市场占有率_苹果耳机销售速度超手机,占据TWS耳机半壁江山
- 基于单片机智能安全服药提醒药盒系统设计(毕设资料)
- 公众号榜单 | 2020·4月公众号原创排行榜重磅发布