基於Spring中各個jar包的作用及依賴(詳解)

(一)簡化版
Spring AOP:Spring的面向切面編程,提供AOP(面向切面編程)的實現
Spring Aspects:Spring提供的對AspectJ框架的整合
Spring Beans:Spring IOC的基礎實現,包含訪問配置文件、創建和管理bean等。
Spring Context:在基礎IOC功能上提供擴展服務,此外還提供許多企業級服務的支持,有郵件服務、任務調度、JNDI定位,EJB集成、遠程訪問、緩存以及多種視圖層框架的支持。
Spring Context Support:Spring context的擴展支持,用於MVC方面。
Spring Core:Spring的核心工具包
Spring expression:Spring表達式語言
Spring Framework Bom:
Spring Instrument:Spring對服務器的代理接口
Spring Instrument Tomcat:Spring對tomcat連接池的集成
Spring JDBC:對JDBC 的簡單封裝
Spring JMS:爲簡化jms api的使用而做的簡單封裝
Spring Messaging:
Spring orm:整合第三方的orm實現,如hibernate,ibatis,jdo以及spring 的jpa實現
Spring oxm:Spring對於object/xml映射的支持,可以讓JAVA與XML之間來回切換
Spring test:對JUNIT等測試框架的簡單封裝
Spring tx:爲JDBC、Hibernate、JDO、JPA等提供的一致的聲明式和編程式事務管理。
Spring web:包含Web應用開發時,用到Spring框架時所需的核心類,包括自動載入WebApplicationContext特性的類、Struts與JSF集成類、文件上傳的支持類、Filter類和大量工具輔助類。
Spring webmvc:包含SpringMVC框架相關的所有類。包含國際化、標籤、Theme、視圖展現的FreeMarker、JasperReports、 Tiles、Velocity、XSLT相關類。當然,如果你的應用使用了獨立的MVC框架,則無需這個JAR文件裏的任何類。
Spring webmvc portlet:Spring MVC的增強
Spring websocket:提供 Socket通信, web端的推送功能

(二)詳盡版
1.org.springframework.aop或spring-aop.jar

這個jar文件包含在應用中使用Spring的AOP特性時所需的類。使用基於AOP的Spring特性,如聲明型事務管理(Declarative Transaction Management),也要在應用裏包含這個jar包。

外部依賴spring-core.jar,spring-beans.jar,cglib-nodep.jar,aopalliance.jar

附:aopalliance.jar:這個包是AOP聯盟的API包,裏面包含了針對面向切面的接口。通常Spring等其它具備動態織入功能的框架依賴此包。

cglib-nodep.jar:這個包是一個強大的,高性能,高質量的Code生成類庫。它可以在運行期擴展Java類與實現Java接口。 當然這些實際的功能是asm所提供的,asm又是什麼?Java字節碼操控框架。cglib就是封裝了asm,簡化了asm的操作,實現了在運行期動態生成新的class。 實際上CGlib爲spring aop提供了底層的一種實現;爲hibernate使用cglib動態生成VO/PO (接口層對象)。

2.spring-asm.jar

Spring獨立的asm程序, Spring2.5.6的時候需要asmJar 包, 3.0開始提供他自己獨立的asmJar。

3.spring-beans.jar

這個jar文件是所有應用都要用到的,它包含訪問配置文件、創建和管理bean 以及進行Inversion of Control / Dependency Injection(IoC/DI)操作相關的所有類。如果應用只需基本的IoC/DI 支持,引入spring-core.jar 及spring-beans.jar 文件就可以了。
外部依賴spring-core,cglib-nodep.jar。

4.spring-core.jar

這個jar 文件包含Spring 框架基本的核心工具類。Spring 其它組件要都要使用到這個包裏的類,是其它組件的基本核心,當然你也可以在自己的應用系統中使用這些工具類。
外部依賴Commons-Logging, Log4J。

5.spring-aop.jar

這個jar 文件包含在應用中使用Spring 的AOP 特性時所需的類和源碼級元數據支持。使用基於AOP 的Spring特性,如聲明型事務管理(Declarative Transaction Management),也要在應用裏包含這個jar包。

外部依賴spring-core,spring-beans,aopalliance,CGLIB,Commons Attributes。

6.spring-context.jar

這個jar文件爲Spring核心提供了大量擴展。可以找到使用Spring ApplicationContext特性時所需的全部類,JDNI 所需的全部類,instrumentation組件以及校驗Validation 方面的相關類。

外部依賴spring-core.jar,spring-beans.jar,spring-aop.jar,commons-collections.jar,aopalliance.jar。

7.spring-dao.jar

這個jar 文件包含Spring DAO、Spring Transaction 進行數據訪問的所有類。爲了使用聲明型事務支持,還需在自己的應用裏包含spring-aop.jar。

外部依賴spring-core,spring-aop, spring-context, JTA API。

8.spring-jdbc.jar

這個jar 文件包含對Spring 對JDBC 數據訪問進行封裝的所有類。
外部依賴spring-beans,spring-dao。

9.spring-support.jar

這個jar文件包含支持UI模版(Velocity,FreeMarker,JasperReports),郵件服務,腳本服務(JRuby),緩存Cache(EHCache),任務計劃Scheduling(uartz)方面的類。
外部依賴spring-context, spring-jdbc, Velocity, FreeMarker, JasperReports, BSH, Groovy, JRuby, Quartz, EHCache

10.spring-web.jar

這個jar 文件包含Web 應用開發時,用到Spring 框架時所需的核心類,包括自動載入Web Application Context 特性的類、Struts 與JSF 集成類、文件上傳的支持類、Filter 類和大量工具輔助類。

外部依賴spring-context, Servlet API, JSP API, JSTL, Commons FileUpload, COS。

11.spring-webmvc.jar

這個jar 文件包含Spring MVC 框架相關的所有類。包括框架的Servlets,Web MVC框架,控制器和視圖支持。當然,如果你的應用使用了獨立的MVC 框架,則無需這個JAR 文件裏的任何類。

外部依賴spring-web, spring-support,Tiles,iText,POI。

12.spring-portlet.jar

spring自己實現的一個類似Spring MVC的框架。包括一個MVC框架和控制器。

外部依賴spring-web, Portlet API,spring-webmvc。

13.spring-struts.jar

Struts框架支持,可以更方便更容易的集成Struts框架。

外部依賴spring-web,Struts。

14.spring-remoting.jar

這個jar 文件包含支持EJB、遠程調用Remoting(RMI、Hessian、Burlap、Http Invoker、JAX-RPC)方面的類。

外部依賴spring-aop, (spring-context,spring-web,Hessian,Burlap,JAX-RPC,EJB API)。

15.spring-jmx.jar

這個jar包提供了對JMX 1.0/1.2的支持類。

外部依賴spring-beans,spring-aop, JMX API。

16.spring-jms.jar

這個jar包提供了對JMS 1.0.2/1.1的支持類。

外部依賴spring-beans,spring-dao,JMS API。

17spring-jca.jar

對JCA 1.0的支持。JDO(Java Data Object )是Java對象持久化的新的規範,也是一個用於存取某種數據倉庫中的對象的標準化API。

外部依賴spring-beans,spring-dao, JCA API。

18.spring-jdo.jar

對JDO 1.0/2.0的支持。JCA (J2EE 連接器架構,Java Connector Architecture),可以將有JCA適配器其他語言的系統部署到j2ee應用服務器中

外部依賴spring-jdbc, JDO API, (spring-web)。

19.spring-jpa.jar

對JPA 1.0的支持。

外部依賴spring-jdbc, JPA API, (spring-web)。

20.spring-hibernate2.jar

對Hibernate 2.1的支持,已經不建議使用。

外部依賴spring-jdbc,Hibernate2,(spring-web)。

21.spring-hibernate3.jar

對Hibernate 3.0/3.1/3.2的支持。

外部依賴spring-jdbc,Hibernate3,(spring-web)。

22.spring-toplink.jar

對TopLink框架的支持。

外部依賴spring-jdbc,TopLink。

23.spring-ibatis.jar

對iBATIS SQL Maps的支持。

外部依賴spring-jdbc,iBATIS SQL Maps。

24.spring-mock.jar

這個jar 文件包含Spring 一整套mock 類來輔助應用的測試。Spring 測試套件使用了其中大量mock 類,這樣測試就更加簡單。模擬HttpServletRequest 和HttpServletResponse 類在Web 應用單元測試是很方便的。並且提供了對JUnit的支持。
外部依賴spring-core。

25.spring-aspects.jar

提供對AspectJ的支持,以便可以方便的將面向方面的功能集成進IDE中,比如Eclipse AJDT。
外部依賴。

26.spring-agent.jar

Spring的InstrumentationSavingAgent (爲InstrumentationLoadTimeWeaver),一個設備代理包,可以參考JDK1.5的Instrumentation功能獲得更多信息。

外部依賴none (for use at JVM startup: “-javaagent:spring-agent.jar”)。

27.spring-tomcat-weaver.jar

擴展Tomcat的ClassLoader,使其可以使用instrumentation(設備)類。

外部依賴none (for deployment into Tomcat’s “server/lib” directory)。
————————————————
原文鏈接:https://blog.csdn.net/panchang199266/article/details/80305577

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章