别再瞎写工具类了 Apache Commons 它都有

ApacheCommons是一系列开源工具,用于简化Java开发中的常见任务,如Bean操作、编码解码、集合操作、文件处理、日志管理等。这些工具在Struts、Spring等框架中广泛应用,提高了开发效率和代码质量。
摘要由CSDN通过智能技术生成

Apache Commons

Apache Commons 是对 JDK 的拓展,包含了很多开源的工具,用于解决平时编程经常会遇到的问题,减少重复劳动。官网网址: http://commons.apache.org

Common 包包含哪些

Apache Common 官方网站: https://commons.apache.org/

在这里插入图片描述

Commons BeanUtils

针对 Bean 的一个工具集。由于 Bean 往往是有一堆 get 和 set 组成,所以 BeanUtils 也是在此基础上进行一些包装。它利用 Java 的反射机制,从动态的生成对 bean 的 getter 和 setter 的调用代码,到模拟创建一个动态的 bean,等等。这个包看似简单,却是很多开源项目的基石:如在著名的 Struts 和 Spring Framework 中,我们都能找到 BeanUtils 的影子。大家猜猜看,有哪位名人是 BeanUtils 的作者之一?没错,就是 Struts 的创始人 Craig McClanahan。一个比较常用的功能是 Bean Copy,也就是 copy bean 的属性。如果做分层架构开发的话就会用到,比如从 PO(Persistent Object)拷贝数据到 VO(Value Object)。Commons BeanUtils 一共包括如下 5 个包:

org.apache.commons.beanutils – 核心包,定义一组Utils类和需要用到的接口规范

org.apache.commons.beanutils.converters – 转换String到需要类型的类,实现Converter接口

org.apache.commons.beanutils.locale –beanutils的locale敏感版本

org.apache.commons.beanutils.locale.converters– converters的locale敏感版本

org.apache.commons.collections – beanutils使用到的Collection类

Commons Codec

是编码和解码组件,提供常用的编码和解码方法,如 DES、SHA1、MD5、Base64、URL 和 Soundx 等。

Commons Collections

是一个集合组件,扩展了 Java 标准 Collections API,对常用的集合操作进行了很好的封装、抽象和补充,在保证性能的同时大大简化代码。

我们先来浏览一下它的包结构。一共是 12 个:

org.apache.commons.collections – CommonsCollections自定义的一组公用的接口和工具类

org.apache.commons.collections.bag – 实现Bag接口的一组类

org.apache.commons.collections.bidimap – 实现BidiMap系列接口的一组类

org.apache.commons.collections.buffer – 实现Buffer接口的一组类

org.apache.commons.collections.collection –实现java.util.Collection接口的一组类

org.apache.commons.collections.comparators– 实现java.util.Comparator接口的一组类

org.apache.commons.collections.functors –Commons Collections自定义的一组功能类

org.apache.commons.collections.iterators – 实现java.util.Iterator接口的一组类

org.apache.commons.collections.keyvalue – 实现集合和键/值映射相关的一组类

org.apache.commons.collections.list – 实现java.util.List接口的一组类

org.apache.commons.collections.map – 实现Map系列接口的一组类

org.apache.commons.collections.set – 实现Set系列接口的一组类

作为容器类的补充,我们可以找到 Bag、Buffer、BidiMap、OrderedMap 等等;作为操作类的补充,我们可以找到 CollectionUtils、IteratorUtils、ListUtils、SetUtils 等等;作为辅助类的补充,我们可以找到 MapIterator、Closure、Predicate、Transformer 等等;

Commons Compress

是一个压缩、解压缩文件的组件,可以操作 rar、cpio、Unix dump、tar、zip、gzip、XZ、Pack200 和 bzip2 格式的压缩文件。

Commons Configuration

是一个 Java 应用程序的配置管理工具,可以从 properties 或者 xml 文件中加载配置信息。

Commons CSV

是一个用来读写各种 Comma Separated Value(CSV) 格式文件的 Java 类库。

Commons Daemon

实现将普通的 Java 应用变成系统的后台服务, 例如 Tomcat 就是利用这个项目来实现作为 Linux 和 Windows 的服务启动和停止的。

Commons DBCP

数据库连接池。

Commons DBUtils

是 JDBC 工具组件,对传统操作数据库的类进行二次封装,可以把结果集转化成 List。

Commons Digester

是 XML 到 Java 对象的映射工具集。

Commons Email

是邮件操作组件,对 Java Mail API 进行了封装,提供了常用的邮件发送和接收类,简化邮件操作。该组件依赖 Java Mail API。

Commons Exec

提供一些常用的方法用来执行外部进程,如执行 exe 文件或命令行。

Commons FileUpload

为 Web 应用程序或 Servlet 提供文件上传功能,Struts2 和 SpringMVC 的文件上传组件。

Commons IO

是处理 IO 的工具类包,对 java.io 进行扩展,提供了更加方便的 IO 操作。

Commons JCI

提供通用的 Java 编译器接口。

Commons Lang3

是处理 Java 基本对象方法的工具类包,该类包提供对字符、数组等基本对象的操作,弥补了 java.lang api 基本处理方法上的不足。

ArrayUtils – 用于对数组的操作,如添加、查找、删除、子数组、倒序、元素类型转换等;

BitField – 用于操作位元,提供了一些方便而安全的方法;

BooleanUtils – 用于操作和转换boolean或者Boolean及相应的数组;

CharEncoding – 包含了Java环境支持的字符编码,提供是否支持某种编码的判断;

CharRange – 用于设定字符范围并做相应检查;

CharSet – 用于设定一组字符作为范围并做相应检查;

CharSetUtils – 用于操作CharSet;

CharUtils – 用于操作char值和Character对象;

ClassUtils – 用于对Java类的操作,不使用反射;

ObjectUtils – 用于操作Java对象,提供null安全的访问和其他一些功能;

RandomStringUtils – 用于生成随机的字符串;

SerializationUtils – 用于处理对象序列化,提供比一般Java序列化更高级的处理能力;

StringEscapeUtils – 用于正确处理转义字符,产生正确的Java、JavaScript、HTML、XML和SQL代码;

StringUtils – 处理String的核心类,提供了相当多的功能;

SystemUtils – 在java.lang.System基础上提供更方便的访问,如用户路径、Java版本、时区、操作系统等判断;

Validate – 提供验证的操作,有点类似assert断言;

WordUtils – 用于处理单词大小写、换行等。

Commons Logging

提供统一的日志接口,同时兼顾轻量级和不依赖于具体的实现。类包给中间件 / 日志工具开发者一个简单的日志操作抽象,允许程序开发人员使用不同的具体日志实现工具。

Commons Math

轻量级自容器的数学和统计计算方法类包,包含大多数常用的数值算法。

Commons Net

封装了各种网络协议的客户端,支持 FTP、NNTP、SMTP、POP3、Telnet 等协议。

Commons Pool

提供了一整套用于实现对象池化的框架,以及若干各具特色的对象池实现,可以有效地减少处理对象池化时的工作量。类包用于提高像文件句柄、数据库连接、socket 通信这类大对象的调用效率,简单的说就是一种对象一次创建多次使用的技术。

Commons Primitives

提供了一个更小,更快和更易使用的对 Java 基本类型的支持。

Commons Validator

提供了一个简单的、可扩展的框架来在一个 XML 文件中定义校验器 (校验方法) 和校验规则。支持校验规则的和错误消息的国际化。

Apache HttpClient

曾经是 Apache Commons 的子项目,后来独立出来。HttpClient 简化 HTTP 客户端与服务器的各种通讯,实现 HTTP 客户端程序(也就是浏览器程序)的功能。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值