Apache Common 工具介绍

发布时间:2024年01月19日

介绍

Apache Common包含的工具库众多,主要为Java开发者提供各种实用的功能和组件。其中包括数据结构处理、IO操作、网络编程、数学运算、字符串处理等等多种功能模块。这些工具库的使用可以显著提高开发效率,使得程序员可以将更多的精力集中在业务逻辑的实现上,而不需要从头开始编写这些基础功能。

一、Commons BeanUtils

说明:针对Bean的一个工具集。由于Bean往往是有一堆get和set组成,所以BeanUtils也是在此基础上进行一些包装。

二、Commons CLI

说明:这是一个处理命令的工具。比如main方法输入的string[]需要解析。你可以预先定义好参数的规则,然后就可以调用CLI来解析。

三、Commons Codec

说明:这个工具是用来编码和解码的,包括Base64,URL,Soundx等等。用这个工具的人应该很清楚这些,我就不多介绍了。

四、Commons Collections

说明:你可以把这个工具看成是java.util的扩展。

五、Commons Configuration

说明:这个工具是用来帮助处理配置文件的,支持很多种存储方式

六、Commons DBCP

说明:Database Connection pool, Tomcat就是用的这个,不用我多说了吧,要用的自己去网站上看说明。

七、Commons DbUtils

说明:我以前在写数据库程序的时候,往往把数据库操作单独做一个包。DbUtils就是这样一个工具,以后开发不用再重复这样的工作了。值得一体的是,这个工具并不是现在流行的OR-Mapping工具(比如Hibernate),只是简化数据库操作

八、Commons HttpClient

说明:这个工具可以方便通过编程的方式去访问网站。

九、Commons IO

说明:可以看成是java.io的扩展,我觉得用起来非常方便。

十、Commons JXPath

说明:Xpath你知道吧,那么JXpath就是基于Java对象的Xpath,也就是用Xpath对Java对象进行查询。这个东西还是很有想像力的。

十一、Commons Lang

说明:这个工具包可以看成是对java.lang的扩展。提供了诸如StringUtils, StringEscapeUtils, RandomStringUtils, Tokenizer, WordUtils等工具类。

十二、Commons Logging

说明:你知道Log4j吗

十三、Commons Math

说明:看名字你就应该知道这个包是用来干嘛的了吧。这个包提供的功能有些和Commons Lang重复了,但是这个包更专注于做数学工具,功能更强大。

十四、Commons Net

说明:这个包还是很实用的,封装了很多网络协议。

  1. FTP
  2. NNTP
  3. SMTP
  4. POP3
  5. Telnet
  6. TFTP
  7. Finger
  8. Whois
  9. rexec/rcmd/rlogin
  10. Time (rdate) and Daytime
  11. Echo
  12. Discard
  13. NTP/SNTP

十五、Commons Validator

说明:用来帮助进行验证的工具。比如验证Email字符串,日期字符串等是否合法。

十六、Commons Virtual File System ()

说明:提供对各种资源的访问接口。支持的资源类型包括

  1. CIFS
  2. FTP
  3. Local Files
  4. HTTP and HTTPS
  5. SFTP
  6. Temporary Files
  7. WebDAV
  8. Zip, Jar and Tar (uncompressed, tgz or tbz2)
  9. gzip and bzip2
  10. res
  11. ram
    这个包的功能很强大,极大的简化了程序对资源的访问。

十七、Commons Transaction

说明:提供持久层事务支持

十八、Commons Proxy

说明: 动态代理,拦截器一类的东西

十九、Commons pool

说明: 创建新的对象并初始化的操作,可能会消耗很多的时间。
在需要频繁创建并使用这些对象的场景中,为了提供系统性能,通常的做法是,创建一个对象池,将一定数量的对象缓存到这个对象池中。
需要使用时直接从对象池中取出对象,使用完后将对象扔回到对象池中即可。
Apache的commons pool组件是我们实现对象池化技术的良好助手。

二十、Commons Bean Scripting Framework(BSF)

说明:是一个支持在Java应用程序内调用脚本语言 (Script),并且支持脚本语言直接访问Java对象和方法的一个开源项目。有了它 , 你就能在java application中使用javascript, Python, XSLT, Perl, tcl, ……等一大堆scripting language
. 反过来也可以,就是在这些scripting language中调用任何已经注册过了的JavaBean,java object。它提供了完整的API实现通过Java访问脚本语言的引擎。

二十一、Commons chain

说明: 可以在你需要定义和执行一些顺序操作的时候采用Commons Chain。

二十二、Commons Compress

说明: 是一个压缩、解压缩文件的类库。可以操作ar, cpio, Unix dump, tar, zip, gzip, XZ, Pack200 and bzip2格式的文件,功能比较强大

二十三、Commons Discovery

说明: 组件被用以查找可插拔接口的实现实例,它提供了一种通用的实例化这些实现的方式,而且可以管理单例(工厂)的生命周期。

二十四、 commons exec

说明: Apache Commons Exec 是 Apache 上的一个 Java 项目,提供一些常用的方法用来执行外部进程,如下面代码所示:

String line = "AcroRd32.exe /p /h " + file.getAbsolutePath();
CommandLine commandLine = CommandLine.parse(line);
DefaultExecutor executor = new DefaultExecutor();
executor.setExitValue(1);
ExecuteWatchdog watchdog = new ExecuteWatchdog(60000);
executor.setWatchdog(watchdog);
int exitValue = executor.execute(commandLine);

二十五、commons jelly

说明:Jelly能够把XML转换成可执行代码,所以Jelly是一个基于XML与Java的脚本和处理引擎。 Jelly借鉴了JSP定指标签,Velocity, Cocoon和Xdoclet中的脚本引擎的许多优点。Jelly可以用在命令行,Ant或者Servlet之中

二十六、Commons JEXL

说明:JEXL是Apache的一个开源项目,是一个用Java表达式语言创建的库,它带有一些预定义函数,并允许开发人员插入自己的函数。

二十七、Commons Email

说明:简化Java中的电子邮件发送

二十八、Commons Functor

说明:一个函数对象接口库,可以用于表示不同的函数和操作。

二十九、Commons Graph

说明:一个库,用于创建和操作图形和网络结构。

三十、Commons Id

说明:生成和管理全局唯一标识符的库。

三十一、Commons JCI

说明:Java编译器接口,可以动态编译Java代码。

三十二、Commons JCS

说明:Java缓存系统,一个分布式缓存系统,用于加速应用程序的性能。

三十三、Commons JDiff

说明:一个用于报告不同版本Java源代码之间差异的库。

三十四、Commons Jexl

说明:用于创建用Java表达式语言编写的库。

三十五、Commons Modeler

说明:用于将JavaBeans与管理接口和XML配置文件连接起来的库。

三十六、Commons Primitives

说明:为基本数据类型提供了集合和实用程序。

三十七、Commons SCXML

说明:一个用于执行状态机的库。

四十六、Commons VFS
说明:一个用于通过单一API处理各种文件系统的库。

三十八、Commons Weaver

说明:一个用于在运行时处理Java类的框架。

三十九、Commons Launcher

说明:创建跨平台可执行程序

四十、Commons FileUpload

说明:jsp的上传文件功能怎么做呢

这些都是Apache Common的工具库,其中包含了各种实用的功能和组件,能够为Java开发者提供大量帮助,显著提高开发效率。

文章来源:https://blog.csdn.net/Wondr8652099/article/details/135667218
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。