Spring
的依賴關(guān)系
|
||
依賴關(guān)系分組
|
JAR
文件
|
說
明
|
ant
|
ant.jar, ant-junit.jar, ant-launcher.jar
|
Spring
采用
Apache Ant
作為其構(gòu)建工具,還用來完成大量其它任務(wù)如文檔生成和測試執(zhí)行等。運(yùn)行時(shí)
Ant
根本不起作用,因此發(fā)布應(yīng)用時(shí)無需包含該
JAR
文件。
|
aopalliance
|
aopalliance.jar
|
AOP Alliance(http://aopalliance.sourceforge.net/)
是個(gè)聯(lián)合的開源協(xié)作組織,在多個(gè)項(xiàng)目間進(jìn)行協(xié)作以期提供一套標(biāo)準(zhǔn)的
AOP Java
接口(
interface
)。
Spring AOP
就是基于
AOP Alliance
標(biāo)準(zhǔn)
API
實(shí)現(xiàn)的。如果你打算使用
Spring
的
AOP
或基于
AOP
的任何特性,只需這個(gè)
JAR
文件。
|
axis
|
axis.jar, saaj.jar, wsdl4j.jar
|
Spring
采用
Apache Axis
項(xiàng)目來支持
Spring
遠(yuǎn)程調(diào)用里的
JAXRPC
功能。如果使用
JAXRPC Remoting
,那么只需要這些文件。
|
caucho
|
burlap-2.1.12.jar, hessian-2.1.12.jar
|
Spring
遠(yuǎn)程調(diào)用(
remoting
)對大量不同種類的協(xié)議包括
Caucho
的
Burlap
和
Hessian
提供了支持。要用哪個(gè)協(xié)議就包含這個(gè)分組里相應(yīng)的
JAR
文件。
|
cglib
|
cglib-full-2.0.2.jar
|
CGLIB
用來生成動(dòng)態(tài)代理類(
dynamic proxy classes
),供核心
DI
和
AOP
實(shí)現(xiàn)之用。由于大量
Spring
功能的實(shí)現(xiàn)都要用到
CGLIB
,因此你的應(yīng)用幾乎總需包含
CGLIB
。
|
cos
|
cos.jar
|
COS
代表
com.oreilly.servlet
,是個(gè)實(shí)用類的集合,對
Servlets
和基于
web
的應(yīng)用很有用。
Spring
在兩個(gè)地方要用到
COS
:文件上傳處理和
e-mail
發(fā)送。不過在這兩種情形中,
COS
都只是實(shí)現(xiàn)選擇之一,因此只有選用
COS
而非其它實(shí)現(xiàn)方法時(shí),才需包含
cos.jar
。
|
dom4j
|
dom4j.jar
|
使用
Hibernate
時(shí)
dom4j
不可或缺,因此如果你的應(yīng)用打算采用
Hibernate
實(shí)現(xiàn)
ORM
,就需要包含這個(gè)
JAR
文件。
|
easymock
|
easymock.jar, easymockclassextension.jar
|
Spring
的測試套件用到了
EasyMock
,因此只有構(gòu)建和運(yùn)行測試套件時(shí)才用到這個(gè)
JAR
,無需隨你的應(yīng)用一起發(fā)布。
|
freemarker
|
freemaker.jar
|
Spring
提供了
FreeMarker
模板引擎的包裝類,還為把
FreeMarker
模板用作
web
應(yīng)用的視圖提供了支持。只要使用
FreeMarker
,就需要這個(gè)
JAR
文件。
|
hibernate
|
ehcache.jar, hibernate2.jar, odmg.jar
|
如果采用
Spring
的
Hibernate
集成和支持類,這些
JAR
文件不可或缺。如果使用其它
ORM
工具如
iBATIS
,則不需要這些
JAR
文件。如果使用
Hibernate
,則你的應(yīng)用還要包含
CGLIB JAR
文件。
|
hsqldb
|
hsqldb.jar
|
Spring
的示例應(yīng)用使用了
hsqldb.jar
文件。
|
ibatis
|
ibatis-common.jar , ibatis-sqlmap.jar, ibatis-sqlmap-2.jar
|
使用
Spring
的
iBATIS
集成類時(shí),這些文件不可或缺;如果使用
JDBC
或其它
ORM
工具如
Hibernate
或
JDO
,則你的應(yīng)用不需要這些文件。
|
itext
|
itext-1.02b.jar
|
Spring
使用
iText
提供
web
層的
PDF
支持。只有你的
web
應(yīng)用需要生成
PDF
輸出時(shí)才需包含這個(gè)
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
|
如左側(cè)所示,
J2EE
相關(guān)的各種不同
JAR
文件數(shù)量相當(dāng)可觀。如果你想要使用
Spring
郵件支持的
JavaMail
實(shí)現(xiàn),則需要
activation.jar
和
mail.jar
文件。要讓
Hibernate
使用
JCA Connector
則需
connector-api.jar
,使用
Spring
的
EJB
支持則需要
ejb.jar
,
jms.jar
用于
Spring
的
JMS
支持。對于
web
應(yīng)用,如果想要使用
Spring JSTL
支持則需要
servlet.jar
和
jstl.jar
。
Spring
遠(yuǎn)程調(diào)用里的
JAXRPC
支持需要
jaxrpc.jar
文件,
jta.jar
用于
JTA
事務(wù)支持。剩下兩個(gè)
JAR
文件
jdbc2_0-stdext.jar
和
xml-apis.jar
分別用于
JDBC
和
XML
配置支持,不過只有你使用
1.3
版本的
JVM
時(shí)才需要它們。
|
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
項(xiàng)目的大量組件。如果你想在應(yīng)用中使用源碼級元數(shù)據(jù)(
metadata
),就需要
commons-attributes-api.jar
,此外還需要
commons-attributes-compiler.jar
,以便將
attributes
編譯到應(yīng)用里。
Struts
要用到
BeanUtils
、
Collections
、
Digester
、
Discovery,
和
Validator JAR
文件,其中的
Collections
,
Hibernate
也會用到。使用
DBCP
連接池時(shí),
Spring JDBC
支持要用到
DBCP
,
Pooling
則對有些示例應(yīng)用不可或缺。如果想使用相應(yīng)的
Spring
包裝類來處理
web
應(yīng)用的文件上傳,則需要
FileUpload
。最后,
Spring
處處用到了
Logging
,因此需在所有基于
Spring
的應(yīng)用里包含這個(gè)
JAR
文件。
|
jakarta-taglibs
|
standard.jar
|
這是
Jakarta
的
JSTL
實(shí)現(xiàn),一些
Spring
示例應(yīng)用使用了這個(gè)實(shí)現(xiàn)。
|
jboss
|
jboss-common-jdbc-wrapper.jar
|
運(yùn)行在
JBoss
應(yīng)用服務(wù)器上的應(yīng)用使用
Spring
的
JDBC
類時(shí),這個(gè)
JAR
文件不可或缺。
|
jdo
|
jdo.jar
|
提供
Spring
的
JDO
支持。
|
jdom
|
jdom.jar
|
在
Spring
里使用
iBATIS 1.3
時(shí),
JDOM
不可或缺。本章介紹的
iBATIS
版本為
2.0
。
|
jotm
|
jotm.jar, xapool.jar
|
如果你打算配合
Spring
事務(wù)抽象層一起使用
JOTM
,
jotm.jar
文件不可或缺。如果打算在自己的應(yīng)用里將
XAPool
用于連接池(
connection pooling
),則只需
xapool.jar
。
|
junit
|
junit.jar
|
運(yùn)行時(shí)根本不需要
JUnit
;它只用來構(gòu)建和運(yùn)行測試套件。
|
log4j
|
log4j-1.2.8.jar
|
如果想要使用
Spring
配置
log4j
日志記錄,這個(gè)文件不可或缺。
|
poi
|
poi-2.5.jar
|
這個(gè)
JAR
可令
Spring MVC
框架支持
Microsoft Excel
輸出。
|
quartz
|
quartz.jar
|
Spring
基于
Quartz
的調(diào)度支持需要該
JAR
。
|
regexp
|
Jakarta-oro-2.0.7.jar
|
使用正則表達(dá)式來指定
AOP
的切入點(diǎn)(
pointcut
)時(shí)需要這個(gè)
JAR
。第六章有更詳細(xì)的介紹。
|
struts
|
struts.jar
|
欲配合
Spring
使用
Struts
構(gòu)建
web
應(yīng)用,
Struts JAR
必不可少。
|
velocity
|
velocity-1.4.jar, velocity-tools-generic-1.1.jar
|
Spring
提供了
Velocity
的包裝類使其支持
DI
,同時(shí)當(dāng)你在應(yīng)用中使用
Velocity
時(shí),還可減少需要編寫的代碼量。除此之外,
Spring
還提供了一些類,支持將
Velocity
用作
web
層里的視圖提供者(
view provider
)。只要使用了上述任意特性,都需在發(fā)布里包含
Velocity JAR
文件。
|
xdoclet
|
xjavadoc-1.0.jar
|
Commons Attributes
用這個(gè)
JAR
解析源代碼文件,然后提取屬性信息。如果使用了
Spring Commons Attributes
支持,須包含該
JAR
文件。
|
PS:轉(zhuǎn)自http://www.uusam.com/uu/blog/article.asp?id=81,多謝原作者的總結(jié)!
??????????????????????????????????????????????????????????????THE END