Spring 原始碼學習 day1

2022-08-03 03:24:10 字數 1492 閱讀 6156

前言:

最近也不知道該忙些什麼樣的事情。便隨便看看原始碼算了。

正文:(1)

或git clone https:

(2)spring 原始碼是採用 gradle 來編譯的。至於 gradle 怎麼安裝,請參考 gradle 的安裝

開啟命令視窗,將當前目錄切換到原始碼所在目錄(像看那部分就到哪部分的目錄下),執行命令 gradle cleanidea eclipse

編譯成功!

將編譯後的專案,直接匯入到 eclipse 中。嗯,我很閒,直接將整個專案編譯了!

好吧,為了看原始碼的方便。還是乙個乙個子專案的匯入到專案中,因為專案中會有一些的依賴關聯。工程名稱前面有乙個感嘆號,說明存在錯誤。檢視依賴包。

(3)我們先從 spring-beans 分析起。

匯入 spring-beans ,檢視其依賴,匯入 spring-core 和 spring-jcl

檢視jar 包依賴,缺少cglib-repack-3.2.5.jar和spring-objenesis-repack-2.4.jar

為什麼會缺少包?以及如何解決?參考:

通過閱讀原始碼發現為了避免第三方class的衝突,spring把最新的cglib和objenesis給repack了,

而且並沒有提供這部分的**在原始碼裡,直接在jar包當中。

將生成的jar包,匯入到缺失jar包的專案中

參考:《spring原始碼深度解析》 

spring 原始碼學習 1

1.spring 是乙個非侵入性 non invasive 框架,其目標是使應用程式 對框架的依賴最小化,應用 可以在沒有spring或者其它的容器下執行。2.spring提供了乙個一致的程式設計模型,使用應用直接使用pojo開發,從需可以與應用環境 如web伺服器 隔離開來。3.spring推動應...

Spring原始碼學習(1)

一 前言 該系列部落格用於記錄本人學習spring原始碼的過程,以spring5.1為例。第一篇筆記不會記錄太多 相關的內容,更多的是梳理一下spring整體的結構,本人學識有限,如果書寫過程中有什麼紕漏希望及時指出。二 spring簡介 spring是乙個開源框架,它由rod johnson建立。...

學習日記 Day1

for 迴圈變數型別 迴圈變數名稱 要被遍歷的物件 迴圈體 int c for int a c 廣播的動態註冊 過程總結 1.定義乙個intentfiler和乙個繼承broadcastreceiver的內部類 receiver 2.在oncreate中例項1中的2個定義。intentfiler新增個...