commons(org.apache.commons下的组件,这个commons到底是来干什么的)

本文目录
- org.apache.commons下的组件,这个commons到底是来干什么的
- commons jar包有哪些分别有什么用有详细的文档吗去哪里找到这些包谢谢,求详细!
- 使用commons-exec执行外部命令
- common与normal有什么区别
org.apache.commons下的组件,这个commons到底是来干什么的
commons包,根据语义来:商品包,即产品.commons项目是作为JDK的补充拓展及优化的一系列方案,由apache公司编写.包名org.apache.commons,由反转的域名org.apache和包名commons组成.如:org.apache.commons.logging包,是用来记录日期.org.apache.commons.lang包,用来包装部份数据类型.org.apache.collections包,Apache Commons包中的一个,包含了一些Apache开发的集合类,功能比java.util.*更为强大。由于commons包的强大与灵活性,它已被各种framework推荐采纳使用,像struts、hibernate、spring中都有部分jar文件是来自于commons包中的,在tomcat安装目录的bin目录下也包含了commons-logging.jar.
commons jar包有哪些分别有什么用有详细的文档吗去哪里找到这些包谢谢,求详细!
commons-digester.jar Digester基于规则的XML文档解析,主要用于XML到Java对象的映射. commons-beanutils.jar 提供对Java 反射和自省API的包装. aspectjweaver.jar 用于在Spring 2.0中集成AspectJ AspectJ LTW织入器 ognl.jar OGNL是Object-Graph Navigation Language的缩写,它是一种功能强大的表达式语言(Expression Language,简称为EL),通过它简单一致的表达式语法,可以存取对象的任意属性,调用对象的方法,遍历整个对象的结构图,实现字段类型转化等功 能。它使用相同的表达式去存取对象的属性。 hibernate2依赖的一些包 hibernate2.jar Hibernate的库,没有什么可说的,必须使用的jar包 cglib-asm.jar: CGLIB库,Hibernate用它来实现PO字节码的动态生成,非常核心的库,必须使用的jar包 dom4j.jar: dom4j是一个Java的XML API,类似于jdom,用来读写XML文件的。dom4j是一个非常非常优秀的Java XML API,具有性能优异、功能强大和极端易用使用的特点,同时它也是一个开放源代码的软件,可以在SourceForge上找到它。在IBM developerWorks上面可以找到一篇文章,对主流的Java XML API进行的性能、功能和易用性的评测,dom4j无论在那个方面都是非常出色的。我早在将近两年之前就开始使用dom4j,直到现在。如今你可以看到越 来越多的Java软件都在使用dom4j来读写XML,特别值得一提的是连Sun的JAXM也在用dom4j。这是必须使用的jar 包,Hibernate用它来读写配置文件。 odmg.jar: ODMG是一个ORM的规范,Hibernate实现了ODMG规范,这是一个核心的库,必须使用的jar包。 commons-collections.jar: Apache Commons包中的一个,包含了一些Apache开发的集合类,功能比java.util.*强大。必须使用的jar包。 commons-beanutils.jar: Apache Commons包中的一个,包含了一些Bean工具类类。必须使用的jar包。 commons-lang.jar: Apache Commons包中的一个,包含了一些数据类型工具类,是java.lang.*的扩展。必须使用的jar包。 commons-logging.jar: Apache Commons包中的一个,包含了日志功能,必须使用的jar包。这个包本身包含了一个Simple Logger,但是功能很弱。在运行的时候它会先在CLASSPATH找log4j,如果有,就使用log4j,如果没有,就找JDK1.4带的 java.util.logging,如果也找不到就用Simple Logger。commons-logging.jar的出现是一个历史的的遗留的遗憾,当初Apache极力游说Sun把log4j加入JDK1.4, 然而JDK1.4项目小组已经接近发布JDK1.4产品的时间了,因此拒绝了Apache的要求,使用自己的java.util.logging,这个包 的功能比log4j差的很远,性能也一般。 后来Apache就开发出来了commons-logging.jar用来兼容两个logger。因此用commons-logging.jar 写的log程序,底层的Logger是可以切换的,你可以选择log4j,java.util.logging或者它自带的Simple Logger。不过我仍然强烈建议使用log4j,因为log4j性能很高,log输出信息时间几乎等于System.out,而处理一条log平均只需 要5us。你可以在Hibernate的src目录下找到Hibernate已经为你准备好了的log4j的配置文件,你只需要到Apache 网站去下载log4j就可以了。commons-logging.jar也是必须的jar包。 使用Hibernate必须的jar包就是以上的这几个,剩下的都是可选的。 ant.jar: Ant编译工具的jar包,用来编译Hibernate源代码的。如果你不准备修改和编译Hibernate源代码,那么就没有什么用,可选的jar包 optional.jar: Ant的一个辅助包。 c3p0.jar: C3PO是一个数据库连接池,Hibernate可以配置为使用C3PO连接池。如果你准备用这个连接池,就需要这个jar包。 proxool.jar: 也是一个连接池,同上。 commons-pool.jar, commons-dbcp.jar: DBCP数据库连接池,Apache的Jakarta组织开发的,Tomcat4的连接池也是DBCP。 实际上Hibernate自己也实现了一个非常非常简单的数据库连接池,加上上面3个,你实际上可以在Hibernate上选择4种不同的数据库 连接池,选择哪一个看个人的偏好,不过DBCP可能更通用一些。另外强调一点,如果在EJB中使用Hibernate,一定要用App Server的连接池,不要用以上4种连接池,否则容器管理事务不起作用。 connector.jar: JCA 规范,如果你在App Server上把Hibernate配置为Connector的话,就需要这个jar。不过实际上一般App Server肯定会带上这个包,所以实际上是多余的包。 jaas.jar: JAAS是用来进行权限验证的,已经包含在JDK1.4里面了。所以实际上是多余的包。 jcs.jar: 如果你准备在Hibernate中使用JCS的话,那么必须包括它,否则就不用。 jdbc2_0-stdext.jar: JDBC2.0的扩展包,一般来说数据库连接池会用上它。不过App Server都会带上,所以也是多余的。 jta.jar: JTA规范,当Hibernate使用JTA的时候需要,不过App Server都会带上,所以也是多余的。 junit.jar: Junit包,当你运行Hibernate自带的测试代码的时候需要,否则就不用。 xalan.jar, xerces.jar, xml-apis.jar: Xerces是XML解析器,Xalan是格式化器,xml-apis实际上是JAXP。一般App Server都会带上,JDK1.4也包含了解析器,不过不是Xerces,是Crimson,效率比较差,不过Hibernate用XML只不过是读取 配置文件,性能没什么紧要的,所以也是多余的。 antlr.jar 语法生成工具详见
使用commons-exec执行外部命令
Apache commons-exec对Process进行了封装,提供了如下功能:
创建线程和数据泵,连接输入流is和输出流os,线程启动后将不断从输入流复制数据到输出流。
输入流与输出流之间的数据泵StreamPumper
创建时指定超时时间:
提交给DefaultExecutor:
DefaultExecutor执行时启动ExecuteWatchdog,执行完毕停止:
ExecuteWatchdog启动:
WatchDog启动:
ExecuteWatchdog被通知超时:
common与normal有什么区别
又到了与小伙伴分享英语知识的时候了,common与normal还是有很大区别的,我给大家总结了一个表格,可以先简单了解一下先:
【单词含义】
①common,读音是英,英美式发音是不同的哟。作形容词时,意为常见的;共同的;普通的;平常的;平凡的;粗俗的;作名词时,意为公地;平民;普通;公园。
②normal,读音是英,英美式发音是不同的哟。作形容词时,意为正常的;正规的;精神健全的;作名词时,意为常态;标准。
【侧重点】
common强调许多事物具有某种共同点而“不足为奇”;normal形容人或物“符合常态或常规”;例如:
①Colds are common in winter.翻译:感冒在冬天很常见。
②Normal heart beats around seventy-six times a minute.翻译:正常的心脏每分钟跳动76次左右。
【用法】
(1)common的用法
①common在句中常用作定语,也可用作表语,其后可接介词to。例如:
Common interests bind us together.翻译:共同的利益使我们结合在一起。
Smith is a common surname.翻译:史密斯是个很普通的姓。
②common在句中修饰不可数名词时,前面不能加不定冠词。
Smith is a common surname.翻译:史密斯是个很普通的姓。
(2)normal的用法
①normal在句中可用作定语、表语或宾语补足语。例如:
She refused to conform to the normal social conventions.翻译:她拒绝遵从正常的社会习俗。
People who commit crimes like that aren’t normal.翻译:犯这种罪的人心理都不正常.
②normal无比较级和最高级形式。normal还可用作名词,意思是“正常排位”“常态”。
It was several days before the floodwater sank and life returned to normal.翻译:过了几天洪水才退,生活恢复了正常。
Her temperature is above normal.翻译:她的体温高于正常标准。

更多文章:
全球新冠肺炎疫情背景下航运发展(盐田港复苏日志:半年历劫从“低谷”到“爆仓” 疫情之后巨轮如何越洋航行)
2026年9月7日 17:10
matlab求解带字母参数方程组(我想matlab求一个关于x,y的方程组 ab c d f e h m n 都是参数)
2026年9月7日 16:30
oracle中的循环语句(下面哪个不是oracle程序设计中的循环语句 a for)
2026年9月7日 15:30
电脑里2个系统怎么删除一个(电脑开机显示有两个系统,如何删除一个)
2026年9月7日 12:20
scrollthrough意思(“scroll”是什么意思)
2026年9月7日 08:00
怎么激活keygen(注册机如何激活cad2008一个简单激活cad2008的方法)
2026年9月7日 06:30
vba编写excel插件(excel vba中能否动态创建控件)
2026年9月7日 04:40




