為什麼spring的原始碼一看就犯困?有沒有什麼學習的技巧?程式猿W2020-10-22 12:58:53

我先說一下看原始碼的方法,然後在分享Spring事務原始碼分析

看原始碼方法:

1、先使用

:先看官方文件快速掌握框架的基本使用。

2、抓主線:

找一個demo入手,順藤摸瓜快速靜態看一遍框架的主線原始碼(抓大放小),畫出原始碼主流程圖,切勿一開始就陷入原始碼的細枝末節,否則會把自己繞暈。

3、畫圖做筆記

:總結框架的一些核心功能點,從這些功能點入手深入到原始碼的細節,邊看原始碼邊畫原始碼走向圖,並對關鍵原始碼的理解做筆記,把原始碼裡的閃光點都記錄下來,後續借鑑到工作專案中,理解能力強的可以直接看靜態原始碼,也可以邊看原始碼邊debug原始碼執行過程,觀察一些關鍵變數的值。

4、整合總結

:所有功能點的原始碼都分析完後,回到主流程圖再梳理一遍,爭取把自己畫的所有圖都在腦袋裡做一個整合。

想知道spring是如何實現transaction註解,必須找到入口在嗎?入口在析@EnableTransactionManagement註解上

為什麼spring的原始碼一看就犯困?有沒有什麼學習的技巧?

從原始碼開始分析註冊的元件

3。1) @EnableTransactionManagement開始分析

為什麼spring的原始碼一看就犯困?有沒有什麼學習的技巧?

3。2)我們從3。1處的原始碼可以分析處他透過@Import匯入了TransactionManagementConfigurationSelector元件 TransactionManagementConfigurationSelector原始碼分析

我們可以分析處向容器中匯入了二個元件 1)AutoProxyRegistrar 2)ProxyTransactionManagementConfiguration

所以要一步一步分析,最終畫的流程圖如下:

為什麼spring的原始碼一看就犯困?有沒有什麼學習的技巧?

為什麼spring的原始碼一看就犯困?有沒有什麼學習的技巧?