怎樣閱讀spring源碼

一匀奏、鏈接:https://www.zhihu.com/question/21346206/answer/101789659

建議不要硬著頭皮看spring代碼,本身的代碼800多m敲茄,就是不上班開始看也不知道什么時(shí)候看完。

基本原理其實(shí)就是通過(guò)反射解析類及其類的各種信息山析,包括構(gòu)造器堰燎、方法及其參數(shù),屬性笋轨。然后將其封裝成bean定義信息類秆剪、constructor信息類、method信息類爵政、property信息類仅讽,最終放在一個(gè)map里,也就是所謂的container钾挟,池等等洁灵,其實(shí)就是個(gè)map。

建議還是多看看底層的知識(shí)掺出。

評(píng)論:

先搞清楚原理徽千,然后下載源碼Debug一個(gè)小例子,跟進(jìn)代碼汤锨,理解容器双抽、控制反轉(zhuǎn)和依賴注入。

二泥畅、鏈接:https://www.zhihu.com/question/21346206/answer/173940450

As far as I'm concerned, 閱讀好項(xiàng)目源代碼荠诬,有幾個(gè)前提條件要做好:

1. 知道該項(xiàng)目的用途,是干什么的

2. 了解該項(xiàng)目的架構(gòu)位仁,包含什么模塊柑贞,各模塊是干什么的

3. 英文水平最低限度:閱讀無(wú)障礙

回歸正題:怎么閱讀Spring源碼?

1聂抢、Spring Framework 是一個(gè)開源框架钧嘶,能幫助企業(yè)快速搭建一棧式(Full Stack)企業(yè)級(jí)項(xiàng)目應(yīng)用框架。

2琳疏、Spring Framework 項(xiàng)目架構(gòu)圖:

3有决、上面的圖展示出,Spring框架包含了非常多的功能空盼,不能漫無(wú)目的书幕,一股腦地閱讀,這樣很容易頭暈揽趾。了解完Spring架構(gòu)台汇、模塊以及模塊對(duì)應(yīng)的功能后,可以針對(duì)性閱讀部分源碼。逐一攻破苟呐。

4痒芝、另外Spring在代碼設(shè)計(jì)中運(yùn)用了大量的設(shè)計(jì)模式,可以用事件驅(qū)動(dòng)去學(xué)習(xí)一下設(shè)計(jì)模式牵素。

三严衬、鏈接:https://www.zhihu.com/question/21346206/answer/88486078

建議在這個(gè)頁(yè)面code4craft/tiny-spring下載下來(lái)所有step1--step10所有的項(xiàng)目,全部導(dǎo)入到工程笆呆,看看作者是怎樣一步步把spring整個(gè)框架搭起來(lái)的请琳,一步步順著spring的功能完善代碼,順便學(xué)學(xué)spring類的組織結(jié)構(gòu)腰奋,學(xué)到很多单起,等學(xué)完后頭腦很清晰,確實(shí)受益匪淺

debug斷點(diǎn)運(yùn)行是我針對(duì)這個(gè)項(xiàng)目學(xué)習(xí)最好的方式劣坊,相信你也一樣

四、先懂原理屈留,后有針對(duì)性的看代碼

知識(shí)準(zhǔn)備:了解基礎(chǔ)知識(shí)局冰,不要上來(lái)就閱讀代碼,打好基礎(chǔ)可以做到事半功倍的效果

找開始的地方:做什么事情都要知道從那里開始灌危,讀程序也不例外

分層次閱讀:在閱讀代碼的時(shí)候不要一頭就扎下去康二,這樣往往容易只見樹木不見森林,閱讀代碼比較好的方法有一點(diǎn)象二叉樹的廣度優(yōu)先的遍歷勇蝙。

重復(fù)閱讀:一次就可以將所有的代碼都閱讀明白的人是沒(méi)有的沫勿。反復(fù)的去閱讀同一段代碼有助于得代碼的理解。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末味混,一起剝皮案震驚了整個(gè)濱河市产雹,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌翁锡,老刑警劉巖蔓挖,帶你破解...
    沈念sama閱讀 211,042評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異馆衔,居然都是意外死亡瘟判,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,996評(píng)論 2 384
  • 文/潘曉璐 我一進(jìn)店門角溃,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)拷获,“玉大人,你說(shuō)我怎么就攤上這事减细〈夜希” “怎么了?”我有些...
    開封第一講書人閱讀 156,674評(píng)論 0 345
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)陕壹。 經(jīng)常有香客問(wèn)我质欲,道長(zhǎng),這世上最難降的妖魔是什么糠馆? 我笑而不...
    開封第一講書人閱讀 56,340評(píng)論 1 283
  • 正文 為了忘掉前任嘶伟,我火速辦了婚禮,結(jié)果婚禮上又碌,老公的妹妹穿的比我還像新娘九昧。我一直安慰自己,他們只是感情好毕匀,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,404評(píng)論 5 384
  • 文/花漫 我一把揭開白布铸鹰。 她就那樣靜靜地躺著,像睡著了一般皂岔。 火紅的嫁衣襯著肌膚如雪蹋笼。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,749評(píng)論 1 289
  • 那天躁垛,我揣著相機(jī)與錄音剖毯,去河邊找鬼。 笑死教馆,一個(gè)胖子當(dāng)著我的面吹牛逊谋,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播土铺,決...
    沈念sama閱讀 38,902評(píng)論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼胶滋,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了悲敷?” 一聲冷哼從身側(cè)響起究恤,我...
    開封第一講書人閱讀 37,662評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎镀迂,沒(méi)想到半個(gè)月后购对,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體悍引,經(jīng)...
    沈念sama閱讀 44,110評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,451評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了钟病。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片屯掖。...
    茶點(diǎn)故事閱讀 38,577評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡裸删,死狀恐怖噪径,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情藏雏,我是刑警寧澤拷况,帶...
    沈念sama閱讀 34,258評(píng)論 4 328
  • 正文 年R本政府宣布,位于F島的核電站,受9級(jí)特大地震影響赚瘦,放射性物質(zhì)發(fā)生泄漏粟誓。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,848評(píng)論 3 312
  • 文/蒙蒙 一起意、第九天 我趴在偏房一處隱蔽的房頂上張望鹰服。 院中可真熱鬧,春花似錦揽咕、人聲如沸悲酷。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,726評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)设易。三九已至,卻和暖如春蛹头,著一層夾襖步出監(jiān)牢的瞬間顿肺,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,952評(píng)論 1 264
  • 我被黑心中介騙來(lái)泰國(guó)打工渣蜗, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留挟冠,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,271評(píng)論 2 360
  • 正文 我出身青樓袍睡,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親肋僧。 傳聞我的和親對(duì)象是個(gè)殘疾皇子斑胜,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,452評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn)嫌吠,斷路器止潘,智...
    卡卡羅2017閱讀 134,628評(píng)論 18 139
  • 在上一節(jié)中主要對(duì)第一節(jié)的代碼做了封裝,它們都是用OpenGL來(lái)渲染和顯示一個(gè)固定顏色的長(zhǎng)方形辫诅,但實(shí)際開發(fā)中很少只會(huì)...
    YxxxHao閱讀 1,259評(píng)論 2 1
  • 立 春 漢語(yǔ)飄香 梅花戀雪綻芳華凭戴, 草木辭枯欲孕芽。 ...
    漢語(yǔ)飄香閱讀 1,012評(píng)論 71 189
  • 小時(shí)候炕矮,一直很想為一名記者么夫,一名主持人,也為此做了不少努力肤视。做過(guò)很多次采訪档痪,也參與很多次主持;可是后來(lái)轉(zhuǎn)了...
    隨便寫寫的小水母閱讀 1,011評(píng)論 3 18
  • 看著13級(jí)的學(xué)長(zhǎng)學(xué)姐們依依不舍的希望在學(xué)校的每一個(gè)角落留下自己的身影腐螟,在離別之前再和相處了四年的同學(xué)們嬉鬧一...
    大米二兒閱讀 242評(píng)論 0 1