(轉(zhuǎn))詳解spring 每個jar的作用
spring.jar 是包含有完整發(fā)布模塊的單個jar 包捧颅。但是不包括mock.jar, aspects.jar, spring-portlet.jar, and spring-hibernate2.jar景图。
spring-src.zip就是所有的源代碼壓縮包。
除了spring.jar 文件碉哑,Spring 還包括有其它21 個獨立的jar 包挚币,各自包含著對應(yīng)的Spring組件,用戶可以根據(jù)自己的需要來選擇組合自己的jar 包扣典,而不必引入整個spring.jar 的所有類文件妆毕。
spring-core.jar
這個jar 文件包含Spring 框架基本的核心工具類。Spring 其它組件要都要使用到這個包里的類贮尖,是其它組件的基本核心笛粘,當(dāng)然你也可以在自己的應(yīng)用系統(tǒng)中使用這些工具類。
外部依賴Commons Logging湿硝, (Log4J)薪前。
spring-beans.jar
這個jar 文件是所有應(yīng)用都要用到的,它包含訪問配置文件关斜、創(chuàng)建和管理bean 以及進行Inversion of Control / Dependency Injection(IoC/DI)操作相關(guān)的所有類示括。如果應(yīng)用只需基本的IoC/DI 支持,引入spring-core.jar 及spring-beans.jar 文件就可以了蚤吹。
外部依賴spring-core例诀,(CGLIB)。
spring-aop.jar
這個jar 文件包含在應(yīng)用中使用Spring 的AOP 特性時所需的類和源碼級元數(shù)據(jù)支持裁着。使用基于AOP 的Spring特性繁涂,如聲明型事務(wù)管理(Declarative Transaction Management),也要在應(yīng)用里包含這個jar包二驰。
外部依賴spring-core扔罪, (spring-beans,AOP Alliance桶雀, CGLIB矿酵,Commons Attributes)唬复。
spring-context.jar
這個jar 文件為Spring 核心提供了大量擴展∪梗可以找到使用Spring ApplicationContext特性時所需的全部類敞咧,JDNI 所需的全部類,instrumentation組件以及校驗Validation 方面的相關(guān)類辜腺。
外部依賴spring-beans, (spring-aop)休建。
spring-dao.jar
這個jar 文件包含Spring DAO、Spring Transaction 進行數(shù)據(jù)訪問的所有類评疗。為了使用聲明型事務(wù)支持测砂,還需在自己的應(yīng)用里包含spring-aop.jar。
外部依賴spring-core百匆,(spring-aop砌些, spring-context, JTA API)加匈。
spring-jdbc.jar
這個jar 文件包含對Spring 對JDBC 數(shù)據(jù)訪問進行封裝的所有類存璃。
外部依賴spring-beans,spring-dao矩动。
spring-support.jar
這個jar 文件包含支持UI模版(Velocity有巧,F(xiàn)reeMarker,JasperReports)悲没,郵件服務(wù),腳本服務(wù)(JRuby)男图,緩存Cache(EHCache)示姿,任務(wù)計劃Scheduling(uartz)方面的類。
外部依賴spring-context, (spring-jdbc, Velocity, FreeMarker, JasperReports, BSH, Groovy, JRuby, Quartz, EHCache)
spring-web.jar
這個jar 文件包含Web 應(yīng)用開發(fā)時逊笆,用到Spring 框架時所需的核心類栈戳,包括自動載入Web Application Context 特性的類、Struts 與JSF 集成類难裆、文件上傳的支持類子檀、Filter 類和大量工具輔助類。
外部依賴spring-context, Servlet API, (JSP API, JSTL, Commons FileUpload, COS)乃戈。
spring-webmvc.jar
這個jar 文件包含Spring MVC 框架相關(guān)的所有類褂痰。包括框架的Servlets,Web MVC框架症虑,控制器和視圖支持缩歪。當(dāng)然,如果你的應(yīng)用使用了獨立的MVC 框架谍憔,則無需這個JAR 文件里的任何類匪蝙。
外部依賴spring-web, (spring-support主籍,Tiles,iText逛球,POI)千元。
spring-portlet.jar
spring自己實現(xiàn)的一個類似Spring MVC的框架。包括一個MVC框架和控制器颤绕。
外部依賴spring-web诅炉, Portlet API,(spring-webmvc)屋厘。
spring-struts.jar
Struts框架支持涕烧,可以更方便更容易的集成Struts框架。
外部依賴spring-web汗洒,Struts议纯。
spring-remoting.jar
這個jar 文件包含支持EJB、遠程調(diào)用Remoting(RMI溢谤、Hessian瞻凤、Burlap、Http Invoker世杀、JAX-RPC)方面的類阀参。
外部依賴spring-aop, (spring-context瞻坝,spring-web蛛壳,Hessian,Burlap所刀,JAX-RPC衙荐,EJB API)。
spring-jmx.jar
這個jar包提供了對JMX 1.0/1.2的支持類浮创。
外部依賴spring-beans忧吟,spring-aop, JMX API斩披。
spring-jms.jar
這個jar包提供了對JMS 1.0.2/1.1的支持類溜族。
外部依賴spring-beans,spring-dao垦沉,JMS API煌抒。
spring-jca.jar
對JCA 1.0的支持。
外部依賴spring-beans乡话,spring-dao摧玫, JCA API。
spring-jdo.jar
對JDO 1.0/2.0的支持。
外部依賴spring-jdbc诬像, JDO API屋群, (spring-web)。
spring-jpa.jar
對JPA 1.0的支持坏挠。
外部依賴spring-jdbc芍躏, JPA API, (spring-web)降狠。
spring-hibernate2.jar
對Hibernate 2.1的支持对竣,已經(jīng)不建議使用。
外部依賴spring-jdbc榜配,Hibernate2否纬,(spring-web)。
spring-hibernate3.jar
對Hibernate 3.0/3.1/3.2的支持蛋褥。
外部依賴spring-jdbc临燃,Hibernate3,(spring-web)烙心。
spring-toplink.jar
對TopLink框架的支持膜廊。
外部依賴spring-jdbc,TopLink淫茵。
spring-ibatis.jar
對iBATIS SQL Maps的支持爪瓜。
外部依賴spring-jdbc,iBATIS SQL Maps匙瘪。
另外的兩個包铆铆。
spring-mock.jar
這個jar 文件包含Spring 一整套mock 類來輔助應(yīng)用的測試。Spring 測試套件使用了其中大量mock 類辆苔,這樣測試就更加簡單算灸。模擬HttpServletRequest 和HttpServletResponse 類在Web 應(yīng)用單元測試是很方便的。并且提供了對JUnit的支持驻啤。
外部依賴spring-core。
spring-aspects.jar
提供對AspectJ的支持荐吵,以便可以方便的將面向方面的功能集成進IDE中骑冗,比如Eclipse AJDT。
外部依賴先煎。
WEAVER JARS (dist/weavers)說明贼涩。
spring-agent.jar
Spring的InstrumentationSavingAgent (為InstrumentationLoadTimeWeaver),一個設(shè)備代理包薯蝎,可以參考JDK1.5的Instrumentation功能獲得更多信息遥倦。
外部依賴none (for use at JVM startup: "-javaagent:spring-agent.jar")。
spring-tomcat-weaver.jar
擴展Tomcat的ClassLoader,使其可以使用instrumentation(設(shè)備)類袒哥。
外部依賴none (for deployment into Tomcat's "server/lib" directory)缩筛。