三、spring框架概覽

參考文檔

先把文檔給下載下來,不然每次上官網(wǎng)查挺慢的(你懂的)由于準(zhǔn)備看的是分支是 4.x 所以就直接看對應(yīng)版本的 doc 吧
https://spring.io/projects/spring-framework#learn 官網(wǎng)的布局貌似改了些

選的 4.3.18 GA, GA 即 General Available 狀態(tài),表明這個版本已經(jīng)得到廣泛應(yīng)用了。

點擊 Reference Doc 跳轉(zhuǎn)到網(wǎng)頁版的文檔,發(fā)現(xiàn)最后一截是 htmlsingle ,把這個換成 pdf 試試
這樣就可以拿到 pdf 真正高清無碼版本的 spring 框架api文檔了

基本思想

Part I. Overview of Spring framework 中有這么一段話

The Spring Framework Inversion of Control (IoC) component addresses this concern by providing a formalized means of composing disparate components into a fully working application ready for use. The Spring Framework codifies formalized design patterns as first-class objects that you can integrate into your own application(s). Numerous organizations and institutions use the Spring Framework in this manner to engineer robust, maintainable applications.

this concern 指的是其他 java 框架所沒能解決的一個問題,java 應(yīng)用中有很多個對象,它們需要相互協(xié)作來完成程序的功能,但是如何將它們給聯(lián)系起來的任務(wù)則落到了架構(gòu)師和開發(fā)人員身上。雖然我們可以通過工廠、抽象工廠、裝飾器等設(shè)計模式來將多種多樣的類和實例對象組合成應(yīng)用的結(jié)構(gòu),但是模子相對來說還是比較固定,而且你還是得自己實現(xiàn)整個模子。

spring framework 則以 IOC 控制反轉(zhuǎn),或更通俗的說 DI “依賴注入” 為基調(diào),提供了一種標(biāo)準(zhǔn)的方式將各獨立的組件準(zhǔn)備好,直接提供給程序使用。

模塊

spring 的模塊很多,官方將它的各個模塊按照功能類別分組了,如下



分為:測試、核心容器、切面、消息、數(shù)據(jù)訪問/集成、web;其中上面藍(lán)色框的是我比較感興趣的部分。

  1. Core Container 核心容器

    • Beans 和 Core 是整個 spring 框架的基礎(chǔ),提供了 IOC 和 DI 特性。其中實現(xiàn)了工廠模式的 BeanFactory 解除了程序中組件的耦合。
    • Context 上下文模塊,則是在 Beans 和 Core 兩個模塊的基礎(chǔ)上提供 spring 風(fēng)格的對象訪問模式;這類似 ServletContext 的概念,Servlet 上下文攜帶了一次 Http 請求的 request 和 response;而通過 Spring 上下文 ApplicationContext 能訪問其基礎(chǔ)模塊準(zhǔn)備好的了部件(通常叫 bean)。
    • SpEL, Expression Language 提供了運行時查詢和操作對象的能力。
  2. Aop Aspect Oriented Programming 面向切面,spring aop 實現(xiàn)了 aop 聯(lián)盟的規(guī)范接口。

  3. Data Access/Integration 數(shù)據(jù)訪問模塊

    • spring-jdbc 模塊簡化了原始 jdbc 編碼方式,并統(tǒng)一了各數(shù)據(jù)庫供應(yīng)商的錯誤碼
    • spring-orm 集成了多種 orm 接口,包括 jpa,jdo 和 hibernate。
    • spring-oxm 類似 orm, 不過是映射 xml 的;
    • spring-jms (Java Message Service)包括消息的生產(chǎn)和消費,4.1版本之后它可以和 spring-messaging 集成
  4. Web
    和頁面相關(guān)的模塊,不過這兩年的工作基本以服務(wù)為主,頁面接觸的少咯

  • spring-web 模塊集成了基本的 web 功能,如文件上傳、Servlet 監(jiān)聽器。
  • spring-webmvc 模塊包含 mvc 模式的實現(xiàn)也提供 rest 服務(wù)的實現(xiàn)。

使用場景

  1. 使用第三方web框架, spring 并不限制你和其他框架一起使用;這個場景是很經(jīng)典的三層架構(gòu),只是展示層替換成了別的框架


  2. 遠(yuǎn)程調(diào)用場景,目前流行的服務(wù)類架構(gòu)則很類似這種的2層(api層 和 邏輯層)


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容