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