aspectj目錄下是在Spring框架下使用aspectj的源代碼和測(cè)試程序文件。spring 需要的jar。Aspectj是java最早的提供AOP的應(yīng)用框架。
dist 目錄下是Spring 的發(fā)布包,關(guān)于發(fā)布包下面會(huì)詳細(xì)進(jìn)行說(shuō)明。
docs 目錄下是相關(guān)的文檔,spring mvc jar,包括有Spring api 的javadoc、reference 參考指南、Spring的標(biāo)簽庫(kù)使用文件及Spring MVC 的MVC-step-by-step 講解與示例。spring 需要的jar。都是很好的文檔,spring mvc jar,值得好好研究一下。
lib 目錄下是Spring 所依賴(lài)的第三方開(kāi)源包。spring mvc jar。
mock 目錄下是Spring 輔助應(yīng)用測(cè)試的Mock 源程序。
samples 目錄下是Spring 的示例源程序及簡(jiǎn)單的webapp 示例框架的示例配置,值得好好學(xué)習(xí)的有jpetstore 及petclinic,spring.jar,當(dāng)然其它的countries、imagedb、tiles-example 也可以好好參考一下。spring 需要的jar。
src 目錄下是Spring 的源程序。spring.jar。
test 目錄下Spring 的單元測(cè)試源程序。spring 需要的jar。
tiger 目錄下是針對(duì)在Spring框架中使用java 1.5的源程序及測(cè)試程序。spring 需要的jar。Tiger是jdk 1.5版本的開(kāi)發(fā)代號(hào)。spring mvc jar。
接下來(lái)詳細(xì)說(shuō)說(shuō)dist 目錄下jar 包的相關(guān)內(nèi)容。spring 需要的jar。了解這些內(nèi)容有助于我們減小發(fā)布包的大小,同時(shí)也可以增加對(duì)Spring架構(gòu)的了解。
spring.jar 是包含有完整發(fā)布模塊的單個(gè)jar 包。spring 3.1 jar。但是不包括mock.jar, aspects.jar, spring-portlet.jar, and spring-hibernate2.jar。
spring-src.zip就是所有的源代碼壓縮包。spring test.jar。
除了spring.jar 文件,Spring 還包括有其它21 個(gè)獨(dú)立的jar 包,各自包含著對(duì)應(yīng)的Spring組件,spring 需要的jar,用戶(hù)可以根據(jù)自己的需要來(lái)選擇組合自己的jar 包,而不必引入整個(gè)spring.jar 的所有類(lèi)文件。
spring-core.jar
這個(gè)jar 文件包含Spring 框架基本的核心工具類(lèi)。spring 3.1 jar。Spring 其它組件要都要使用到這個(gè)包里的類(lèi),spring mvc jar,是其它組件的基本核心,當(dāng)然你也可以在自己的應(yīng)用系統(tǒng)中使用這些工具類(lèi)。
外部依賴(lài)Commons Logging, (Log4J)。
spring-beans.jar
這個(gè)jar 文件是所有應(yīng)用都要用到的,spring test.jar,它包含訪問(wèn)配置文件、創(chuàng)建和管理bean 以及進(jìn)行Inversion of Control / Dependency Injection(IoC/DI)操作相關(guān)的所有類(lèi)。spring test.jar。如果應(yīng)用只需基本的IoC/DI 支持,spring.jar,引入spring-core.jar 及spring-beans.jar 文件就可以了。
外部依賴(lài)spring-core,spring 3.1 jar,(CGLIB)。
spring-aop.jar
這個(gè)jar 文件包含在應(yīng)用中使用Spring 的AOP 特性時(shí)所需的類(lèi)和源碼級(jí)元數(shù)據(jù)支持。spring 3.1 jar。使用基于AOP 的Spring特性,spring mvc jar,如聲明型事務(wù)管理(Declarative Transaction Management),spring 需要的jar,也要在應(yīng)用里包含這個(gè)jar包。
外部依賴(lài)spring-core,spring 3.1 jar, (spring-beans,spring 3.1 jar,AOP Alliance,spring.jar, CGLIB,Commons Attributes)。
spring-context.jar
這個(gè)jar 文件為Spring 核心提供了大量擴(kuò)展。spring test.jar??梢哉业绞褂肧pring ApplicationContext特性時(shí)所需的全部類(lèi),spring test.jar,JDNI 所需的全部類(lèi),instrumentation組件以及校驗(yàn)Validation 方面的相關(guān)類(lèi)。spring.jar。
外部依賴(lài)spring-beans, (spring-aop)。spring mvc jar。
spring-dao.jar
這個(gè)jar 文件包含Spring DAO、Spring Transaction 進(jìn)行數(shù)據(jù)訪問(wèn)的所有類(lèi)。為了使用聲明型事務(wù)支持,spring mvc jar,還需在自己的應(yīng)用里包含spring-aop.jar。spring test.jar。
外部依賴(lài)spring-core,spring 3.1 jar,(spring-aop, spring-context,spring mvc jar, JTA API)。spring 需要的jar。
spring-jdbc.jar
這個(gè)jar 文件包含對(duì)Spring 對(duì)JDBC 數(shù)據(jù)訪問(wèn)進(jìn)行封裝的所有類(lèi)。
外部依賴(lài)spring-beans,spring-dao。spring 3.1 jar。
spring-support.jar
這個(gè)jar 文件包含支持UI模版(Velocity,spring 需要的jar,F(xiàn)reeMarker,JasperReports),spring 需要的jar,郵件服務(wù),spring.jar,腳本服務(wù)(JRuby),緩存Cache(EHCache),spring mvc jar,任務(wù)計(jì)劃Scheduling(uartz)方面的類(lèi)。
外部依賴(lài)spring-context, (spring-jdbc, Velocity, FreeMarker, JasperReports, BSH, Groovy, JRuby, Quartz, EHCache)
spring-web.jar
這個(gè)jar 文件包含Web 應(yīng)用開(kāi)發(fā)時(shí),用到Spring 框架時(shí)所需的核心類(lèi),spring 需要的jar,包括自動(dòng)載入Web Application Context 特性的類(lèi)、Struts 與JSF 集成類(lèi)、文件上傳的支持類(lèi)、Filter 類(lèi)和大量工具輔助類(lèi)。
外部依賴(lài)spring-context, Servlet API, (JSP API, JSTL, Commons FileUpload, COS)。
spring-webmvc.jar
這個(gè)jar 文件包含Spring MVC 框架相關(guān)的所有類(lèi)。包括框架的Servlets,Web MVC框架,控制器和視圖支持。spring test.jar。當(dāng)然,spring 需要的jar,如果你的應(yīng)用使用了獨(dú)立的MVC 框架,則無(wú)需這個(gè)JAR 文件里的任何類(lèi)。spring.jar。
外部依賴(lài)spring-web, (spring-support,Tiles,iText,POI)。
spring-portlet.jar
spring自己實(shí)現(xiàn)的一個(gè)類(lèi)似Spring MVC的框架。spring mvc jar。包括一個(gè)MVC框架和控制器。
外部依賴(lài)spring-web,spring mvc jar, Portlet API,spring test.jar,(spring-webmvc)。
spring-struts.jar
Struts框架支持,spring 3.1 jar,可以更方便更容易的集成Struts框架。spring.jar。
外部依賴(lài)spring-web,spring mvc jar,Struts。
spring-remoting.jar
這個(gè)jar 文件包含支持EJB、遠(yuǎn)程調(diào)用Remoting(RMI、Hessian、Burlap、Http Invoker、JAX-RPC)方面的類(lèi)。
外部依賴(lài)spring-aop,spring.jar, (spring-context,spring 需要的jar,spring-web,Hessian,spring mvc jar,Burlap,JAX-RPC,spring.jar,EJB API)。spring 需要的jar。
spring-jmx.jar
這個(gè)jar包提供了對(duì)JMX 1.0/1.2的支持類(lèi)。spring 需要的jar。
外部依賴(lài)spring-beans,spring-aop, JMX API。
spring-jms.jar
這個(gè)jar包提供了對(duì)JMS 1.0.2/1.1的支持類(lèi)。
外部依賴(lài)spring-beans,spring-dao,spring test.jar,JMS API。
spring-jca.jar
對(duì)JCA 1.0的支持。
外部依賴(lài)spring-beans,spring-dao,spring test.jar, JCA API。
spring-jdo.jar
對(duì)JDO 1.0/2.0的支持。spring 3.1 jar。
外部依賴(lài)spring-jdbc, JDO API,spring test.jar, (spring-web)。spring mvc jar。
spring-jpa.jar
對(duì)JPA 1.0的支持。
外部依賴(lài)spring-jdbc, JPA API,spring test.jar, (spring-web)。spring mvc jar。
spring-hibernate2.jar
對(duì)Hibernate 2.1的支持,已經(jīng)不建議使用。
外部依賴(lài)spring-jdbc,Hibernate2,(spring-web)。spring mvc jar。
spring-hibernate3.jar
對(duì)Hibernate 3.0/3.1/3.2的支持。spring.jar。
外部依賴(lài)spring-jdbc,Hibernate3,spring.jar,(spring-web)。spring mvc jar。
spring-toplink.jar
對(duì)TopLink框架的支持。spring 需要的jar。
外部依賴(lài)spring-jdbc,TopLink。
spring-ibatis.jar
對(duì)iBATIS SQL Maps的支持。
外部依賴(lài)spring-jdbc,iBATIS SQL Maps。
另外的兩個(gè)包。spring 3.1 jar。
spring-mock.jar
這個(gè)jar 文件包含Spring 一整套mock 類(lèi)來(lái)輔助應(yīng)用的測(cè)試。Spring 測(cè)試套件使用了其中大量mock 類(lèi),這樣測(cè)試就更加簡(jiǎn)單。spring test.jar。模擬HttpServletRequest 和HttpServletResponse 類(lèi)在Web 應(yīng)用單元測(cè)試是很方便的。并且提供了對(duì)JUnit的支持。
外部依賴(lài)spring-core。
spring-aspects.jar
提供對(duì)AspectJ的支持,spring.jar,以便可以方便的將面向方面的功能集成進(jìn)IDE中,比如Eclipse AJDT。spring mvc jar。
外部依賴(lài)。
WEAVER JARS (dist/weavers)說(shuō)明。spring mvc jar。
spring-agent.jar
Spring的InstrumentationSavingAgent (為InstrumentationLoadTimeWeaver),一個(gè)設(shè)備代理包,可以參考JDK1.5的Instrumentation功能獲得更多信息。
外部依賴(lài)none (for use at JVM startup: "-javaagent:spring-agent.jar")。spring mvc jar。
spring-tomcat-weaver.jar
擴(kuò)展Tomcat的ClassLoader,使其可以使用instrumentation(設(shè)備)類(lèi)。
外部依賴(lài)none (for deployment into Tomcat's "server/lib" directory)。spring.jar。
如果需要使用JSP語(yǔ)言作為Spring's web MVC tags的參數(shù),則需要JSP 2.0的支持?;蛘哌x擇Jakarta的JSTL (standard.jar)。
如何選擇這些發(fā)布包,spring.jar,決定選用哪些發(fā)布包其實(shí)相當(dāng)簡(jiǎn)單。spring test.jar。如果你正在構(gòu)建Web 應(yīng)用并將全程使用Spring,那么最好就使用單個(gè)全部的spring.jar 文件;如果你的應(yīng)用僅僅用到簡(jiǎn)單的Inversion of Control / Dependency Injection(IoC/DI)容器,spring 3.1 jar,那么只需spring-core.jar與spring-beans.jar 即可;如果你對(duì)發(fā)布的大小要求很高,spring 需要的jar,那么就得精挑細(xì)選了,spring 3.1 jar,只取包含自己所需特性的jar 文件了。spring 需要的jar。采用獨(dú)立的發(fā)布包你可以避免包含自己的應(yīng)用不需要的全部類(lèi)。spring.jar。
當(dāng)然你可以采用其它的一些工具來(lái)設(shè)法令整個(gè)應(yīng)用包變小,節(jié)省空間的重點(diǎn)在于準(zhǔn)確地找出自己所需的Spring 依賴(lài)類(lèi),然后合并所需的類(lèi)與包就可以了。spring mvc jar。Eclispe 有個(gè)插件叫ClassPathHelper 可以幫你找找所依賴(lài)的類(lèi)