日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Spring的這七大模塊你了解嗎?

 本文會和大家分享以下幾點(diǎn):point_down:

創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供松原網(wǎng)站建設(shè)、松原做網(wǎng)站、松原網(wǎng)站設(shè)計(jì)、松原網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì)與制作、松原企業(yè)網(wǎng)站模板建站服務(wù),十余年松原做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。

  1. spring 七大模塊
  2. 模塊的主要作用

  3. 模塊間的依賴關(guān)系

  4. spring經(jīng)典面試題——什么是 Spring

Spring的七大模塊

那么先來看看這個(gè)圖回憶下 Spring 有哪些模塊吧

可以分成下面這 七大模塊 :point_down:

  • 數(shù)據(jù)模塊( Data Access / Integration )

  • Web模塊

  • 切面模塊( Aop , Aspects )

  • 工具模塊( Instrumentation )

  • 消息模塊

  • 核心模塊

  • 測試模塊

小結(jié)

后面文章重點(diǎn)會放在顏色深的模塊~ ????

數(shù)據(jù)模塊

數(shù)據(jù)訪問與集成模塊, Data Access/Integration

在這個(gè)模塊中,有五個(gè)小模塊,分別是:point_down:

  • JDBC (Java Database Connectivity), Java數(shù)據(jù)庫連接
  • ORM (Object Relational Mapping), 對象關(guān)系映射
  • OXM (Object XML Mapping), 對象XML映射
  • JMS (Java Message Service), Java消息服務(wù)
  • Transactions , 事務(wù)

看了一眼下來,發(fā)現(xiàn)最常用的應(yīng)該就是這個(gè) ORM 和 Transactions ,而這個(gè) JMS 和 JDBC 差不多,都提供了相應(yīng)的模板,也是很少用到了,最后這個(gè) OXM 都沒點(diǎn)印象的:joy:

小結(jié)

星號的是重點(diǎn)模塊~:pig:

Web模塊

這里有四個(gè)模塊:point_down:

  • Web

  • WebMVC

  • WebSocket

  • WebFlux

Web 模塊提供了核心部分,如 編解碼,過濾器,序列化,國際化,跨域,轉(zhuǎn)換器,客戶端和服務(wù)端等等

WebMVC 模塊即我們平時(shí)用的 SpringMVC

WebSocket 模塊用來支持這個(gè) 全雙工通信

WebFlux模塊就是這個(gè) 響應(yīng)式Web編程模塊 ,可以參考下圖:point_down:

小結(jié)

切面模塊

這里有大名鼎鼎的 AOP 和 Aspects

Aop : Aspect Oriented Programming , 面向切面編程 ,是對 OOP 的補(bǔ)充

Aspects :切面

不知道小伙伴們看到這里有沒有犯迷糊~, 這里居然是兩個(gè)模塊,我一直以為只有 AOP 這個(gè)模塊:pig2:

簡單說明下這兩個(gè)模塊的不同:point_down:

Spring AOP 是一個(gè) 基于代理的 Aop 框架 ,日常使用比較多的

Spring Aspects 模塊里面則定義了五種類型的切面,如下:point_down:

關(guān)于代理可以看看 4ye 之前寫的這兩篇文章~

  • :point_right: 《Java代理模式和字節(jié)碼的探索》

  • :point_right: 《Cglib動態(tài)代理探索(ASM,Spring)》

小結(jié)

工具模塊

Instrumentation , 這個(gè)是 Java 的一個(gè)接口,可以用來做

  • 監(jiān)控代理

  • 事件日志記錄

  • 代碼覆蓋率

Examples of such benign tools include monitoring agents, profilers, coverage analyzers, and event loggers. —— 來自該接口的注釋

還沒用過呢:pig2:

這個(gè) AspectJ 的 LTW(load-time-weaver) 就是通過該方式來進(jìn)行 切面織入 的

消息模塊

Spring-messaging 模塊提供了一種基于 WebSocket 的 STOMP 協(xié)議實(shí)現(xiàn)

STOMP ( Simple Text Oriented Messaging Protocol ) 是一種 流文本定向消息協(xié)議 ,也是一種為 MOM(Message Oriented Middleware,面向消息的中間件 )設(shè)計(jì)的簡單文本協(xié)議

常見的這幾個(gè)MQ都支持該協(xié)議,比如 RocketMQ , RabbitMQ , ActiveMQ

我們可以通過 Spring 官網(wǎng)的例子上手這個(gè)模塊,大概如下:point_down:

簡單版

啟用簡單內(nèi)置消息代理時(shí)使用的組件

進(jìn)階版

對接外部 MQ 來實(shí)現(xiàn)這個(gè) 廣播,訂閱 等

核心模塊

來到 Spring 最核心的部分,這里有我們熟悉的 控制反轉(zhuǎn) (Inversion of Control, IOC ) 和 依賴注入 ( Dependency Injection, DI )

這里有四個(gè) 核心模塊 :point_down:

  • Beans

  • Core

  • Context

  • Expression

每一個(gè)模塊都很重要,這里先列幾個(gè)大家熟悉的 Bean

比如:

  •  
  •   
      
      
      
    1. BeanFactory 
    2. Beans 
    3. IOC 

 

  •  
  •   
      
      
      
    1. StopWatch 
    2. Core 
    3. Spring 
    4. Spring 
  • ApplicationContext 在 Context 模塊中 , 核心接口
  • ParserContext 就在 Expression 模塊中,里面定了這個(gè) EL表達(dá)式 的默認(rèn)前綴 #{ , 后綴 }

小結(jié)

大概有這么些內(nèi)容

測試模塊

這里有 Mock , Junit 等,就不多介紹先:pig:

源碼依賴圖

根據(jù) Spring 源碼模塊中的 gradle 依賴,可以整理出這么一張 依賴關(guān)系圖 :point_down:

什么是Spring?

這里分享下 4ye 滴思路:pig2:

Spring 是一個(gè)輕量級框架,有七大模塊,分別為 數(shù)據(jù),Web,切面,工具,消息,核心,測試

總共 20 幾個(gè)小模塊

  • 核心模塊有 Beans,Core,Context,Expression ,   IOC 和 DI:star:

  • 切面模塊主要有 AOP ,涉及到這個(gè) AOP 編程 :star:

  • Web模塊有 Web,WebMVC, WebSocket, WebFlux

  • 數(shù)據(jù)模塊主要有 ORM ,TX

方便擴(kuò)展,比如 郵件,緩存,定時(shí)任務(wù)等模塊

總結(jié)

本期介紹了這七大模塊,以及各模塊間的依賴,作用

4ye已經(jīng)將本期內(nèi)容整理成了一個(gè)思維導(dǎo)圖,有需要的小伙伴訪問該地址自行保存就可以啦:smile:

(圖片太大了,被壓縮后看不清了 )

https://processon.com/chart_image/611d2098f346fb37da73b8e1.png

 


分享題目:Spring的這七大模塊你了解嗎?
鏈接地址:http://www.5511xx.com/article/cdigcjo.html