日期:2014-05-16 浏览次数:21230 次
Apache Commons包含了很多开源的工具,用于解决平时编程经常会遇到的问题,减少重复劳动。我选了一些比较常用的项目做简单介绍。文中用了很多网上现成的东西,我只是做了一个汇总整理。 
为方便访问和整理,在此列出Jakarta Commons笔记的标题和链接:
[Jakarta Commons笔记] 开篇
[Jakarta Commons笔记] Commons Lang
[Jakarta Commons笔记] org.apache.commons.lang
[Jakarta Commons笔记] 代码范例 - ArrayUtils
[Jakarta Commons笔记] 代码范例 - StringUtils
[Jakarta Commons笔记] org.apache.commons.lang.builder
[Jakarta Commons笔记] org.apache.commons.lang.math
[Jakarta Commons笔记] org.apache.commons.lang.time
[Jakarta Commons笔记] Commons BeanUtils
[Jakarta Commons笔记] 代码范例 - BeanUtils
[Jakarta Commons笔记] Commons Collections
[Jakarta Commons笔记] Commons Collections - Bag组
[Jakarta Commons笔记] Commons Collections - Buffer组
[Jakarta Commons笔记] Commons Collections - Map组
[Jakarta Commons笔记] Commons Collections - Collection组
[Jakarta Commons笔记] Commons Collections - Comparator组
[Jakarta Commons笔记] Commons Collections - Predicate组
[Jakarta Commons笔记] Commons Collections - Transformer组
[Jakarta Commons笔记] Commons Collections - Closure组
[Jakarta Commons笔记] Commons Collections - Iterator组
[Jakarta Commons笔记] 结语
?
一、Commons BeanUtils 
http://jakarta.apache.org/commons/beanutils/index.html 
说明:针对Bean的一个工具集。由于Bean往往是有一堆get和set组成,所以BeanUtils也是在此基础上进行一些包装。 
使用示例:功能有很多,网站上有详细介绍。一个比较常用的功能是Bean Copy,也就是copy bean的属性。如果做分层架构开发的话就会用到,比如从PO(Persistent Object)拷贝数据到VO(Value Object)。 
传统方法如下: 
//得到TeacherForm 
TeacherForm teacherForm=(TeacherForm)form; 
//构造Teacher对象 
Teacher teacher=new Teacher(); 
//赋值 
teacher.setName(teacherForm.getName()); 
teacher.setAge(teacherForm.getAge()); 
teacher.setGender(teacherForm.getGender()); 
teacher.setMajor(teacherForm.getMajor()); 
teacher.setDepartment(teacherForm.getDepartment()); 
//持久化Teacher对象到数据库 
HibernateDAO= ; 
HibernateDAO.save(teacher); 
使用BeanUtils后,代码就大大改观了,如下所示: 
//得到TeacherForm 
TeacherForm teacherForm=(TeacherForm)form; 
//构造Teacher对象 
Teacher teacher=new Teacher(); 
//赋值 
BeanUtils.copyProperties(teacher,teacherForm); 
//持久化Teacher对象到数据库 
HibernateDAO= ; 
HibernateDAO.save(teacher); 
二、Commons CLI 
http://jakarta.apache.org/commons/cli/index.html 
说明:这是一个处理命令的工具。比如main方法输入的string[]需要解析。你可以预先定义好参数的规则,然后就可以调用CLI来解析。 
使用示例: 
// create Options object 
Options options = new Options(); 
// add t option, option is the command parameter, false indicates that 
// this parameter is not required. 
options.addOption(“t”, false, “display current time”); 
options.addOption("c", true,