成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Spring 的這七大模塊你了解嗎?

開發 前端
小伙伴們早上好呀,4ye 最近會持續分享下這個 Spring 的系列文章啦。

 本文會和大家分享以下幾點:point_down:

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

  3. 模塊間的依賴關系

  4. spring經典面試題——什么是 Spring

Spring的七大模塊

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

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

  • 數據模塊( Data Access / Integration )

  • Web模塊

  • 切面模塊( Aop , Aspects )

  • 工具模塊( Instrumentation )

  • 消息模塊

  • 核心模塊

  • 測試模塊

小結

后面文章重點會放在顏色深的模塊~ :smile:

數據模塊

數據訪問與集成模塊, Data Access/Integration

在這個模塊中,有五個小模塊,分別是:point_down:

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

看了一眼下來,發現最常用的應該就是這個 ORM 和 Transactions ,而這個 JMS 和 JDBC 差不多,都提供了相應的模板,也是很少用到了,最后這個 OXM 都沒點印象的:joy:

小結

星號的是重點模塊~:pig:

Web模塊

這里有四個模塊:point_down:

  • Web

  • WebMVC

  • WebSocket

  • WebFlux

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

WebMVC 模塊即我們平時用的 SpringMVC

WebSocket 模塊用來支持這個 全雙工通信

WebFlux模塊就是這個 響應式Web編程模塊 ,可以參考下圖:point_down:

小結

切面模塊

這里有大名鼎鼎的 AOP 和 Aspects

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

Aspects :切面

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

簡單說明下這兩個模塊的不同:point_down:

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

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

關于代理可以看看 4ye 之前寫的這兩篇文章~

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

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

小結

工具模塊

Instrumentation , 這個是 Java 的一個接口,可以用來做

  • 監控代理

  • 事件日志記錄

  • 代碼覆蓋率

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

還沒用過呢:pig2:

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

消息模塊

Spring-messaging 模塊提供了一種基于 WebSocket 的 STOMP 協議實現

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

常見的這幾個MQ都支持該協議,比如 RocketMQ , RabbitMQ , ActiveMQ

我們可以通過 Spring 官網的例子上手這個模塊,大概如下:point_down:

簡單版

啟用簡單內置消息代理時使用的組件

進階版

對接外部 MQ 來實現這個 廣播,訂閱 等

核心模塊

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

這里有四個 核心模塊 :point_down:

  • Beans

  • Core

  • Context

  • Expression

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

比如:

  •  
    1. BeanFactory 
    2. Beans 
    3. IOC 

 

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

小結

大概有這么些內容

測試模塊

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

源碼依賴圖

根據 Spring 源碼模塊中的 gradle 依賴,可以整理出這么一張 依賴關系圖 :point_down:

什么是Spring?

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

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

總共 20 幾個小模塊

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

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

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

  • 數據模塊主要有 ORM ,TX

方便擴展,比如 郵件,緩存,定時任務等模塊

總結

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

4ye已經將本期內容整理成了一個思維導圖,有需要的小伙伴訪問該地址自行保存就可以啦:smile:

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

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

 

責任編輯:張燕妮 來源: Java4ye
相關推薦

2015-08-05 16:21:23

開源社區

2018-08-06 06:29:01

區塊鏈區塊鏈技術職業

2016-06-06 09:49:15

2013-07-22 15:36:48

谷歌秘密項目

2021-02-19 23:42:18

高考物聯網農業

2021-08-05 17:59:45

Vue 3.0前端代碼

2024-09-04 08:31:01

語言模型設計

2009-05-04 15:26:59

Linux兼容性能

2010-07-30 13:05:36

瀏覽器

2013-08-05 09:38:44

2012-12-28 14:38:36

2024-06-12 11:47:38

2009-03-17 08:33:22

Windows7節省開支

2016-06-14 10:29:10

Linux51CTO IT技術周刊

2022-10-08 09:41:09

Docker容器

2010-05-24 13:04:53

jQueryJavaScript

2018-04-11 14:13:29

物聯網信息技術互聯網

2020-12-22 09:55:55

IT首席信息官CIO

2020-12-18 10:35:27

IT技術領導者

2015-07-08 08:51:11

SDN
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久大香 | 99av成人精品国语自产拍 | 国产日韩欧美一区二区 | 久久久久网站 | www.国产精品 | 中国大陆高清aⅴ毛片 | 亚洲欧洲精品一区 | 久久精品国产一区二区三区不卡 | 久久久久久亚洲欧洲 | 粉嫩av久久一区二区三区 | 免费一区 | 天天草草草 | 亚洲精品乱码久久久久久黑人 | 亚洲高清在线观看 | 99在线资源| 天天摸天天看 | 免费看日韩视频 | 国产福利在线免费观看 | 婷婷福利 | 欧美一区二区大片 | 亚洲国产精品99久久久久久久久 | 久久久www成人免费无遮挡大片 | 欧美国产视频一区二区 | www.成人.com| 欧美日韩精品一区二区三区四区 | 亚洲在线成人 | 久久久高清 | 在线a视频网站 | 日韩av一区二区在线观看 | 色吊丝2| 免费三级黄| 日韩成人在线免费视频 | 91精品国产日韩91久久久久久 | a国产视频| 欧美日韩国产精品一区 | 黄色网址大全在线观看 | 在线播放一区二区三区 | 久久久精品久久 | 国产精品一区二 | 国产成人精品一区二区在线 | 精品久久久久久亚洲精品 |