日期:2014-05-16 浏览次数:21036 次
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,