前言:
最近也不知道該忙些什麼樣的事情。便隨便看看原始碼算了。
正文:(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新增個...