Jakarta Commons项目提供了相当丰富的API,我们之前了解到的Commons Lang只是众多API的比较核心的一小部分而已。Commons下面还有相当数量的子项目,用于解决各种各样不同方向的实际问题
BeanUtils就是其中的一个,用于处理JavaBeans。它利用Java的反射机制,从动态的生成对bean的getter和setter的调用代码,到模拟创建一个动态的bean,等等。这个包看似简单,却是很多开源项目的基石:如在著名的Struts和Spring Framework中,我们都能找到BeanUtils的影子。大家猜猜看,有哪位名人是BeanUtils的作者之一?没错,就是Struts的创始人Craig McClanahan。 BeanUtils最核心的好处在于:我们在编码时,并不需要知道我们处理的JavaBeans具体是什么类型,有哪些属性,这些信息是可以动态获取的,甚至我们都可以不必去关心事实上是否存在这样一个具体的JavaBean类。我们只需要知道有一个JavaBean的实例,我们需要从中取得某个属性,设定某个属性的值,或者仅仅是需要一个属性表。要做到这些,依靠Sun提供的JavaBean规范似乎找不到一个很直接的方式,除非硬编码,将getXxxx()和setXxxx()直接写进我们的程序。但是这样就大大增加了代码的复杂度、耦合性和维护成本。还好Commons BeanUtils对这个问题提供了一种优雅的解决方案。
我们有两种途径获取Commons BeanUtils的binary:1- 从Struts、Spring或者任何依赖BeanUtils的开源产品的发行包中找到相应的jar文件;2- 从http://www.apache.org/dist/jakarta/commons/beanutils/binaries/下载。
commons-collections.jar:
Apache Commons包中的一个,包含了一些Apache开发的集合类,功能比java.util.*强大
Commons项目组中的一个各种集合类和集合工具类的封装
standard.jar
JSP 标准标签库,和jstl.jar 一起使用,在1.0的版本中,但在jstl-1.2.jar 就不在需要了
如果你想在项目中使用JSTL和EL表达式,那么你必须要引入这个standard.jar文件。即使你没有引入,那MyEclipse工具自带的类库也会帮你倒入。其他工具不会。
commons-lang.jar:
Apache Commons包中的一个,包含了一些数据类型工具类,是java.lang.*的扩展。
log4j-1.2.15.jar
目前应用最广泛的日志控件,可以配置文件log4j.properties结合在一起使用,通过配置文件配置日志的输出端,输出样式等。
commons-logging.jar:
Apache Commons包中的一员,Apache commons类库是一个通用的类库,提供了基础的功能,例如commons-fileupload、commons-id、commons-codec等。
commons-logging能够选择使用Log4j还是JDK Logging,但不依赖于Log4j、JDK Logging的API。如果项目的classpath中包含log4j的类库,则使用Log4j,否则使用JDK Logging。使用commons-logging能够灵活地选择使用哪种日志,而不需要修改源代码。
commons-logging的使用类似于Log4j,他们的级别及使用规则完全一样。
如果有Log4j,commons-logging会把输出原封不动的交给Log4j,如果没有则相应的输出转化为JDK Logging的输出。默认地,commons-logging会自动检查是否使用Log4j。也可以使用配置文件显式地启用log4j。配置问价为commons-logging.properties,放到classpath下即可。
commons-dbcp.jar:
DBCP数据库连接池,Apache的Jakarta组织开发的,Tomcat4的连接池也是DBCP。
commons-fileupload.jar
文件上传功能。
commons-httpclient-3.1.jar
获取http请求参数的功能。
commons-io-1.3.2.jar
IO数据流读写功能。
velocity-1.5.jar
使用velocity模板所必须的jar。
ant.jar
项目手打打包发布所必须的jar。
spring关联的一写jar
spring.jar
核心,必须的。
spring-webmvc.jar
使用spring web mvc所必须的jar
struts2-spring-plugin-2.1.6.jar
strtus2与spring集成所需要的jar
struts2关联的一写jar
struts2-core-2.1.6.jar
核心,必须的。
hibernate所关联的jar
hibernate3.jar核心jar,必须的。
freemarker-2.3.13.jar
貌似是hibernate所需要的
cglib.jar:
CGLIB库,Hibernate用它来实现PO字节码的动态生成,非常核心的库,必须使用的jar包
其他一写jar
dom4j-1.6.1.jar
java解析xml文件。
jta.jar
java JTA规范
antlr.jar
ANTLR 语言识别的一个工具 (ANother Tool for Language Recognition ) 是一种语言工具,它提供了一个框架,可以通过包含 Java, C++, 或 C# 动作(action)的语法描述来构造语言识别器,编译器和解释器。
详见:http://www.ibm.com/developerworks/cn/java/j-lo-antlr/index.html?ca=drs-
json-lib-2.2.3-jdk15.jar
java解析json所需要的jar。
mysql.jar
不用多说,mysql数据库所必须的。
ojdbc14_g.jar
oracal数据库所需要的。
pushlet.jar
service后台推送所以必须的jar.
poi-3.6-20091214.jar
poi-contrib-3.6-20091214.jar
poi-ooxml-3.6-20091214.jar
poi-ooxml-schemas-3.6-20091214.jar
poi-scratchpad-3.6-20091214.jar
利用poi解析生成excel文件等所必须的jar。
registry.jar
java操作注册表所必须的jar
sitemesh-3.0-alpha-1.jar
前台代码利用装饰器所必须的jar