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
文件。
|