先附spring各版本jar包下載鏈接 http://repo.spring.io/release/org/springframework/spring/
spring.jar 是包含有完整發布模塊的單個jar 包。但是不包括mock.jar, aspects.jar, spring-portlet.jar, and spring-hibernate2.jar
示例圖片為spring-2.5.6.jar的包目錄
下面講解各個jar包的作用:
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)。
以上這篇基于spring中各個jar包的作用及依賴(詳解)就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持服務器之家。
原文鏈接:http://www.cnblogs.com/bigmonkeys/archive/2017/11/09/7811626.html