Spring各jar包作用及依賴

来源:http://www.cnblogs.com/bigmonkeys/archive/2017/11/09/7811626.html
-Advertisement-
Play Games

先附spring各版本jar包下載鏈接http://repo.spring.io/release/org/springframework/spring/ spring.jar 是包含有完整發佈模塊的單個jar 包。但是不包括mock.jar, aspects.jar, spring-portlet. ...


 先附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)。

 

(資料總結與個人體會,侵刪)

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 寫自己的游戲引擎-魂鬥羅源代碼詳解-1_環境搭建與載入項目 上學期我們大一的c++程式設計基礎課需要寫一個課設,我看了題庫,都沒有特別感興趣的。所以我自己選了用c++寫魂鬥羅。這個游戲從main開始,自己建了迴圈,自己寫了框架,也花費了我一個假期的時間。現在想分享出來,併在後續的博客裡面詳細分析思路 ...
  • ——略談Java web軟體如何提供二次開發介面 接手公司的一個Java web軟體產品,該軟體採用傳統的dwr框架。dwr框架相當於一個中間層,使得javascript能夠識別Java類對象,進而能夠調用Java類對象的方法。該軟體要為項目部同事提供二次開發包。 這種方式界面層代碼和邏輯實現代碼混 ...
  • 迭代器 迭代是Python最強大的功能之一,是訪問集合元素的一種方式。。 迭代器對象是一個可以記住遍歷的位置的對象。 迭代器對象從集合的第一個元素開始訪問,直到所有的元素被訪問完結束。迭代器只能往前不會後退。 迭代器有兩個基本的方法:iter() 和 next()。 字元串,列表或元組對象都可用於創 ...
  • 一、新來同事rose2 建用戶名 [root@localhost ~]# useradd rose2 正在創建信箱文件: 文件已存在 建用戶ID [root@localhost ~]# id rose2 uid=3244(rose2) gid=3244(rose2) 組=3244(rose2) 建密 ...
  • 先分享幾個鏈接:(POI的中文API,別人總結的拿來用特別方便) http://blog.csdn.net/m0_37505412/article/details/71109503 https://www.cnblogs.com/fqfanqi/p/6172223.html 我在項目中做這個功能的時 ...
  • 《Head First 設計模式》學習中 裝飾者模式 動態的將責任附加到對象上,若要擴展功能,裝飾者提供了比繼承更有彈性的替代方案 類圖 參與者 1.Component(被裝飾對象的基類) 定義一個對象介面,可以給這些對象動態地添加職責。 2.ConcreteComponent(具體被裝飾對象) 定 ...
  • 恢復內容開始 思路:從倒數第二行開始,每個節點的值加上它下一層的左右節點的最大值,然後逐層向上遍歷,直到頂點,迴圈結束,輸出頂點內容 恢復內容結束 ...
  • 合併pdf pom.xml添加Jar依賴 <!-- pdf處理jar依賴 start --> <dependency> <groupId>com.itextpdf</groupId> <artifactId>itextpdf</artifactId> <version>5.5.12</version ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...