spring framework源碼maven構建版及一點經驗總結

幾年前想學習spring源碼,每次打開書都是構建源碼開始,結果每次都是卡在源碼構建環境上了。
由於spring源碼使用gradle構建並且還依賴了一些其他環境的安裝,所以想要順利完成環境搭建並完整構建成功還是稍微有點麻煩。
折騰幾次後就放棄強迫症了,索性下載了原版源碼後刪減了一些模塊並且把構建工具換爲了我日常用的更多的maven,弄了一個簡化版源碼。
前段時間把之前整理的源碼上傳到了github上了,免得在電腦上弄丟了,
地址:https://github.com/liqipeng/spring-framework-4.3.x

摸索挺長時間後,我才漸漸明白學習spring源碼我們應該抓住重點部分,一開始沒必要執着於spring源碼的構建。因爲spring源碼本身就非常龐大,模塊也比較多,個人認爲能把幾個常用的模塊的重點部分掌握已經不易。
並且閱讀spring源碼根本沒必要去構建它,藉助於IDE工具的依賴包源碼下載功能即可輔助源碼閱讀了。
1、轉到相關類的定義

2、右上角點擊下載源碼

3、或者也可以在maven工具欄右鍵直接下載模塊的全部依賴包的源碼

另外調試源碼時,可以在一些關鍵代碼出打上斷點,然後在命中斷點後利用調試工具的調用棧來梳理複雜代碼的調用過程:

這個Copy Stack的功能也很有用:

關於閱讀源碼,我覺得問題驅動挺重要的,我好像對於spring印象深一點的部分都是基於問題驅動去探索出來的。當然,問題驅動與看書上的講解也是相輔相成的,結合起來就不會像單純啃書那麼枯燥切容易忘記了。
所以看源碼前,最好是梳理一下相關的問題,這樣才能更有針對性。不管是學習spring源碼還是其他東西,帶着問題去學習真的很重要,這樣目的性更強,效果更好。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章