posts - 40,  comments - 187,  trackbacks - 0

Spring 的依赖关系

依赖关系分组

JAR 文件

ant

ant.jar, ant-junit.jar, ant-launcher.jar

Spring 采用 Apache Ant 作为其构建工具,还用来完成大量其它任务如文档生成和测试执行等。运行时 Ant 根本不起作用,因此发布应用时无需包含该 JAR 文件。

aopalliance

aopalliance.jar

AOP Alliance(http://aopalliance.sourceforge.net/) 是个联合的开源协作组织,在多个项目间进行协作以期提供一套标准的 AOP Java 接口( interface )。 Spring AOP 就是基于 AOP Alliance 标准 API 实现的。如果你打算使用 Spring AOP 或基于 AOP 的任何特性,只需这个 JAR 文件。

axis

axis.jar, saaj.jar, wsdl4j.jar

Spring 采用 Apache Axis 项目来支持 Spring 远程调用里的 JAXRPC 功能。如果使用 JAXRPC Remoting ,那么只需要这些文件。

caucho

burlap-2.1.12.jar, hessian-2.1.12.jar

Spring 远程调用( remoting )对大量不同种类的协议包括 Caucho Burlap Hessian 提供了支持。要用哪个协议就包含这个分组里相应的 JAR 文件。

cglib

cglib-full-2.0.2.jar

CGLIB 用来生成动态代理类( dynamic proxy classes ),供核心 DI AOP 实现之用。由于大量 Spring 功能的实现都要用到 CGLIB ,因此你的应用几乎总需包含 CGLIB

cos

cos.jar

COS 代表 com.oreilly.servlet ,是个实用类的集合,对 Servlets 和基于 web 的应用很有用。 Spring 在两个地方要用到 COS :文件上传处理和 e-mail 发送。不过在这两种情形中, COS 都只是实现选择之一,因此只有选用 COS 而非其它实现方法时,才需包含 cos.jar

dom4j

dom4j.jar

使用 Hibernate dom4j 不可或缺,因此如果你的应用打算采用 Hibernate 实现 ORM ,就需要包含这个 JAR 文件。

easymock

easymock.jar, easymockclassextension.jar

Spring 的测试套件用到了 EasyMock ,因此只有构建和运行测试套件时才用到这个 JAR ,无需随你的应用一起发布。

freemarker

freemaker.jar

Spring 提供了 FreeMarker 模板引擎的包装类,还为把 FreeMarker 模板用作 web 应用的视图提供了支持。只要使用 FreeMarker ,就需要这个 JAR 文件。

hibernate

ehcache.jar, hibernate2.jar, odmg.jar

如果采用 Spring Hibernate 集成和支持类,这些 JAR 文件不可或缺。如果使用其它 ORM 工具如 iBATIS ,则不需要这些 JAR 文件。如果使用 Hibernate ,则你的应用还要包含 CGLIB JAR 文件。

hsqldb

hsqldb.jar

Spring 的示例应用使用了 hsqldb.jar 文件。

ibatis

ibatis-common.jar , ibatis-sqlmap.jar, ibatis-sqlmap-2.jar

使用 Spring iBATIS 集成类时,这些文件不可或缺;如果使用 JDBC 或其它 ORM 工具如 Hibernate JDO ,则你的应用不需要这些文件。

itext

itext-1.02b.jar

Spring 使用 iText 提供 web 层的 PDF 支持。只有你的 web 应用需要生成 PDF 输出时才需包含这个 JAR 文件。

j2ee

activation.jar, connector-api.jar, ejb.jar, jaxrpc.jar, jdbc2_0-stdext.jar, jms.jar, jstl.jar, jta.jar, mail.jar, servlet.jar, xml-apis.jar

如左侧所示, J2EE 相关的各种不同 JAR 文件数量相当可观。如果你想要使用 Spring 邮件支持的 JavaMail 实现,则需要 activation.jar mail.jar 文件。要让 Hibernate 使用 JCA Connector 则需 connector-api.jar ,使用 Spring EJB 支持则需要 ejb.jar jms.jar 用于 Spring JMS 支持。对于 web 应用,如果想要使用 Spring JSTL 支持则需要 servlet.jar jstl.jar Spring 远程调用里的 JAXRPC 支持需要 jaxrpc.jar 文件, jta.jar 用于 JTA 事务支持。剩下两个 JAR 文件 jdbc2_0-stdext.jar xml-apis.jar 分别用于 JDBC XML 配置支持,不过只有你使用 1.3 版本的 JVM 时才需要它们。

jakarta

jakarta-commons commons-attributes-api.jar, commons-attributes-compiler.jar, commons-beanutils.jar, commons-collections.jar, commons-dbcp.jar, commons-digester.jar, commons-discovery.jar, commons-fileupload.jar, commons-lang.jar, commons-logging.jar, commons-pool.jar, commons- validator.jar

Spring 使用了来自 Jakarta Commons 项目的大量组件。如果你想在应用中使用源码级元数据( metadata ),就需要 commons-attributes-api.jar ,此外还需要 commons-attributes-compiler.jar ,以便将 attributes 编译到应用里。 Struts 要用到 BeanUtils Collections Digester Discovery, Validator JAR 文件,其中的 Collections Hibernate 也会用到。使用 DBCP 连接池时, Spring JDBC 支持要用到 DBCP Pooling 则对有些示例应用不可或缺。如果想使用相应的 Spring 包装类来处理 web 应用的文件上传,则需要 FileUpload 。最后, Spring 处处用到了 Logging ,因此需在所有基于 Spring 的应用里包含这个 JAR 文件。

jakarta-taglibs

standard.jar

这是 Jakarta JSTL 实现,一些 Spring 示例应用使用了这个实现。

jboss

jboss-common-jdbc-wrapper.jar

运行在 JBoss 应用服务器上的应用使用 Spring JDBC 类时,这个 JAR 文件不可或缺。

jdo

jdo.jar

提供 Spring JDO 支持。

jdom

jdom.jar

Spring 里使用 iBATIS 1.3 时, JDOM 不可或缺。本章介绍的 iBATIS 版本为 2.0

jotm

jotm.jar, xapool.jar

如果你打算配合 Spring 事务抽象层一起使用 JOTM jotm.jar 文件不可或缺。如果打算在自己的应用里将 XAPool 用于连接池( connection pooling ),则只需 xapool.jar

junit

junit.jar

运行时根本不需要 JUnit ;它只用来构建和运行测试套件。

log4j

log4j-1.2.8.jar

如果想要使用 Spring 配置 log4j 日志记录,这个文件不可或缺。

poi

poi-2.5.jar

这个 JAR 可令 Spring MVC 框架支持 Microsoft Excel 输出。

quartz

quartz.jar

Spring 基于 Quartz 的调度支持需要该 JAR

regexp

Jakarta-oro-2.0.7.jar

使用正则表达式来指定 AOP 的切入点( pointcut )时需要这个 JAR 。第六章有更详细的介绍。

struts

struts.jar

欲配合 Spring 使用 Struts 构建 web 应用, Struts JAR 必不可少。

velocity

velocity-1.4.jar, velocity-tools-generic-1.1.jar

Spring 提供了 Velocity 的包装类使其支持 DI ,同时当你在应用中使用 Velocity 时,还可减少需要编写的代码量。除此之外, Spring 还提供了一些类,支持将 Velocity 用作 web 层里的视图提供者( view provider )。只要使用了上述任意特性,都需在发布里包含 Velocity JAR 文件。

xdoclet

xjavadoc-1.0.jar

Commons Attributes 用这个 JAR 解析源代码文件,然后提取属性信息。如果使用了 Spring Commons Attributes 支持,须包含该 JAR 文件。



PS:转自http://www.uusam.com/uu/blog/article.asp?id=81,多谢原作者的总结!


                                                              THE END
posted on 2007-06-19 17:27 小立飞刀 阅读(2289) 评论(4)  编辑  收藏 所属分类: Spring

FeedBack:
# re: Spring的依赖关系(JAR)
2007-06-19 22:19 | 刘甘泉
介绍的不错,可以看看  回复  更多评论
  
# re: Spring的依赖关系(JAR)
2007-06-20 17:20 | BeanSoft
不错, 很有实际意义. 一直以来 Java 的 lib 太多, 不好管理, 是个大问题.  回复  更多评论
  
# re: Spring的依赖关系(JAR)
2007-06-21 11:31 | 小雪飞刀
@BeanSoft
没错!
昨天在调一个Spring LDAP的例子,里面指明的lib完全不对,结果一个jar一个jar的找,又烦又累!所以把一般常用的lib包总结一下还是很重要的。  回复  更多评论
  
# re: Spring的依赖关系(JAR)
2014-06-18 22:51 | zuidaima

只有注册用户登录后才能发表评论。


网站导航:
博客园   IT新闻   Chat2DB   C++博客   博问  
 
<2014年6月>
25262728293031
1234567
891011121314
15161718192021
22232425262728
293012345

生存或毁灭,这是个必答之问题:是否应默默的忍受坎苛命运之无情打击,还是应与深如大海之无涯苦难奋然为敌,并将其克服。此二抉择,究竟是哪个较崇高?

常用链接

留言簿(12)

随笔分类(43)

相册

收藏夹(7)

朋友的博客

电子资料

搜索

  •  

积分与排名

  • 积分 - 302059
  • 排名 - 192

最新评论

阅读排行榜

评论排行榜