Apache Commons是非常实用的开源框架,Apache Commons官网 在此。
Apache Commons 项目由3部分组成:
- The Commons Proper - 可复用JAVA组件库
- The Commons Sandbox - Java组件开发工作区
- The Commons Dormant - 未启用的组件库
跟使用者关系最近的是可复用JAVA组件库(The Commons Proper),这里也只关注它,希望以后也能为开源社区贡献自己的代码。 下面翻译了最新(2018-03-28)的组件库简介,之后会对我目前工作中最常用的组件进行进一步学习,并在表头附上链接。
发布的组件
| 组件 | 描述 |
|---|---|
| BCEL | Byte Code Engineering Library - 分析、创建和操作Java类文件 |
| BeanUtils | 对Java 反射和内省API的易用封装 |
| BSF | Bean Scripting Framework - 调用脚本语言的接口, 支持 JSR-223 规范 |
| Chain | 提供 “责任链模式” 的实现 |
| CLI | 命令行参数解析器 |
| Codec | 通用的编码解码算法(例如语音编码器、 Base64、URL) |
| Collections | 对 Java 集合框架的扩展或增强 |
| Compress | 定义了一个操作 tar、zip 和 bzip2 等压缩文件的 API |
| Configuration | 读取各种格式的配置文件和首选项文件 |
| Crypto | 一个经 AES-NI 优化的加密库 ,封装了Openssl 和 JCE 的算法实现 |
| CSV | 读写 CSV 文件的组件 |
| Daemon | 类UNIX守护进程的java代码替代机制 |
| DBCP | 数据库连接池服务 |
| DbUtils | JDBC helper 类库,简化JDBC操作 |
| Digester | XML-Java对象映射工具 |
| 用Java发邮件的类库 | |
| Exec | 调用外部程序和环境管理的API |
| FileUpload | 为Servlet和web应用程序提供文件上传功能 |
| Functor | Functor 就是一个能够被用来当作对象操作的函数,或者说用于表示某个单一、一般化的函数对象 |
| Imaging (前身是Sanselan) | 纯Java图片库 |
| IO | I/O 工具集 |
| JCI | Java 编译器接口 |
| JCS | Java 缓存系统 |
| Jelly | 基于 XML 的脚本和处理引擎 |
| Jexl | 扩展于JSTL的表达式语言 |
| JXPath | 使用Xpath语法操纵 JavaBeans 的工具 |
| Lang | 提供了一些对 java.lang 中类的扩展功能 |
| Logging | 实现了许多 logging API 的包装类 |
| Math | 轻量的,自包含的数学和统计组件 |
| Net | 网络工具和协议实现的集合 |
| Numbers | 数字类型(复数,四元数,小数)和集合(数组,组合) |
| OGNL | 一种对象图导航语言 |
| Pool | 通用对象池组件 |
| Proxy | 动态代理库 |
| RNG | 随机数生成器 |
| SCXML | 实现了一个状态图的xml标准,主要目的是创建、维持一个java SCXML 引擎 , 它能够执行使用SCXML标准定义的状态机,并抽象出环境接口 |
| Statistics | 统计 |
| Text | 字符串相关算法的库 |
| Validator | 一个在XML文件中定义校验器和校验规则的框架 |
| VFS | 用于将文件,FTP,SMB,ZIP等当作单逻辑文件系统处理的虚拟文件系统组件 |
| Weaver | 提供了一种简单的方法来增强(编织)编译的字节码 |