国产成人精品18p,天天干成人网,无码专区狠狠躁天天躁,美女脱精光隐私扒开免费观看

Spring 源碼解讀計劃

發(fā)布時(shí)間:2021-08-01 00:20 來(lái)源:網(wǎng)絡(luò )整理 閱讀:66 作者:mb5ff97a7f4d63d 欄目: 云計算 歡迎投稿:712375056

3.小結

好啦,今天就先和大家稍微聊一下 Spring 中的各個(gè)模塊,接下來(lái)松哥將按照本文的順序和大家逐步剖析 Spring 源碼,其中 Ioc/DI、AOP 將是分析的重點(diǎn)。

松哥思來(lái)想去,決定在視頻開(kāi)始錄制之前,先出一系列源碼解讀的文章,通過(guò)圖文的形式先帶領(lǐng)大家進(jìn)入 Spring 源碼的世界,然后再抽時(shí)間錄視頻,這樣感覺(jué)更穩一些。

SSM 作為 Java 開(kāi)發(fā)領(lǐng)域的經(jīng)典框架組合,作為一個(gè)有追求的技術(shù)人,都是有必要認真去走一遍 Spring 源碼的,搞懂 Spring 源碼,不僅僅是為了掌握 Spring,也是為了學(xué)習其中優(yōu)秀的設計思想。

Web 主要包含如下模塊:

2.3 Data Access

Data Access 模塊中,主要是封裝了一些數據持久化相關(guān)的操作。比如 JDBC、ORM、OXM、JMS 以及事務(wù)。

所以今天這篇文章,我主要和大家說(shuō)一下我的 Spring 源碼解讀計劃,大概從哪幾個(gè)方面入手。

視頻可能還需要準備一個(gè)配套的文檔,文檔的撰寫(xiě)跟寫(xiě)博客一樣,得不少時(shí)間。

其他一些冷門(mén)的模塊我就不多做介紹了。

Expression Language:SpEL 雖然歸類(lèi)于 Core Container,但是在目前前后端分離的背景下,其實(shí) SpEL 的使用場(chǎng)景大大縮水。SpEL 是一個(gè)支持查詢(xún)并在運行時(shí)可以操縱一個(gè)對象圖的表達式語(yǔ)言,它的語(yǔ)法類(lèi)似于統一 EL,但提供了更多的功能,而且它可以獨立使用。

2.5 Test

對測試功能提供支持。

Context:Context 雖然不像前兩個(gè)模塊那么基礎,因為它是基于 Core 和 Beans 構建的,但是 Context 也是我們在 Web 項目中必不可少的工具,資源加載、Event 等等都需要 Context。

可以這么說(shuō),如果你看懂了 Spring 源碼,再去看 MyBatis、Spring Security 源碼,你會(huì )發(fā)現這些源碼都非常容易,稍微瞅幾眼就懂了。

松哥自己在 Spring 源碼這塊前前后后也折騰了很久了,有一些心得一直想和大家分享,但卻總下不了決心,因為現在已經(jīng)很忙了,再加塞一個(gè)任務(wù)進(jìn)來(lái),怕是吃不消,但是很多時(shí)候,我們總得逼自己一把,才能成長(cháng),不能總是躺在舒適區。于是下定決心,這次一定要把 Spring 源碼解析的視頻錄出來(lái)。

Web:提供基礎的 Web 功能,構建 Web 上下文、提供文件上傳等功能。

2.4 Web

Web 模塊里邊包含幾個(gè)部分,不過(guò)對于我們而言,使用更多的是 webmvc,也就是我們常說(shuō)的 SpringMVC。

Core Container

我們在學(xué)習 Spring 的時(shí)候,有兩個(gè)非常重要的地方:

Core:這個(gè)是 Spring 的核心模塊,它里邊主要是 Spring 框架的一些基礎工具類(lèi),比如一些序列化工具、類(lèi)型轉換器、我們常用的優(yōu)先級注解等等,都是它提供的。

從這張圖中,我們可以看到,Spring Framework 中包含的東西還是非常多的,雖然東西很多,但是主次其實(shí)很明顯。

視頻錄完之后,一般都要二次處理一下,去噪音等等,二次處理耗時(shí)和計算機性能有很大關(guān)系,這也是一個(gè)耗時(shí)操作。

視頻的案例,需要提前準備,不是講的時(shí)候邊講邊寫(xiě),那樣是不負責任的,對自己不負責,對讀者也不負責。錄視頻和寫(xiě)博客一樣,案例都是要先經(jīng)過(guò)設計的:這個(gè)知識點(diǎn),我用一個(gè)什么樣的 Demo 才能讓讀者更好的理解它?

AOP

JDBC:這個(gè)是對傳統的 JDBC 的封裝,傳統的 JDBC 里邊有很多冗余代碼,Spring 利用自身特性對其進(jìn)行封裝,簡(jiǎn)化了數據庫訪(fǎng)問(wèn)。

我來(lái)分別介紹一下這幾個(gè)模塊的作用。

1.Spring 架構

先來(lái)看一張 Spring 整體架構圖:

所以要把一個(gè)自己懂的東西講出來(lái),同時(shí)還要讓聽(tīng)講的人聽(tīng)懂,這并非一件容易的事情。

然而視頻錄制是一個(gè)非常費時(shí)費力的事情,有的人可能不太理解為什么視頻會(huì )更加費時(shí)間,松哥來(lái)給大家舉幾個(gè)例子:

我來(lái)給大家挨個(gè)介紹一下。

ORM:ORM 為我們常見(jiàn)的 ORM 框架(如 Hibernate、MyBatis 等)提供了一個(gè)交互層。

然而源碼的學(xué)習是一個(gè)枯燥的過(guò)程,源碼解讀也是一個(gè)枯燥的過(guò)程,但是一旦你把源碼搞懂了,技術(shù)上的提升也絕對是肉眼可見(jiàn)的,所以,去折騰一下源碼絕對是有必要的,這也是你和同行拉開(kāi)差距的方式之一。

WebMVC:提供 MVC 支持。

2.Spring 模塊2.1 Core Container

Core Container 是 Spring 容器的核心模塊,里邊主要包含四個(gè)模塊:Beans、Core、Context 以及 Expression Language,我們所熟知的 IoC/DI 就是由 Beans 和 Core 來(lái)提供。

Beans:Beans 就沒(méi)啥好說(shuō)的,我們所熟知的 IoC/DI 就是由它提供的。

OXM:OXM 模塊抽象了對象和 XML 之間的轉換,O 是 Object,X 是 XML。

JMS:JMS 主要是對消息中間件的消息發(fā)送/消費提供封裝。

這兩個(gè)是核心,也是我們到時(shí)候源碼分析的重點(diǎn),其他的 Data Access 、Web 等,基本都是以這兩個(gè)為基礎擴展出來(lái)的功能。

2.2 AOP

AOP 也是 Spring 中一個(gè)非常重要的功能模塊,其實(shí)小伙伴們從平時(shí)的面試中應該就能感覺(jué)出來(lái) AOP 的分量,可以說(shuō),如果沒(méi)有 AOP,你就見(jiàn)不到 Spring 中很多令人驚嘆的功能。像我們熟知的 Spring 中的事務(wù)管理,就離不開(kāi) Spring AOP。關(guān)于 AOP 的更多介紹,大家可以參考已經(jīng)錄制的 【Spring 基礎篇】的視頻,我就不再贅述。

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng )、來(lái)自本網(wǎng)站內容采集于網(wǎng)絡(luò )互聯(lián)網(wǎng)轉載等其它媒體和分享為主,內容觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如侵犯了原作者的版權,請告知一經(jīng)查實(shí),將立刻刪除涉嫌侵權內容,聯(lián)系我們QQ:712375056,同時(shí)歡迎投稿傳遞力量。

性大毛片视频| 亚洲日韩精品一区二区三区无码| 国产成人无码精品久久久免费| 国产男同GAYA片大全| 亚洲国产综合精品一区| 欧美人与动牲交另类|