作者:劉易友
鏈接:http://www.zhihu.com/question/22021742/answer/43253452
來源:知乎著作權歸作者所有曾沈,轉載請聯(lián)系作者獲得授權舔示。
我是來反對那些說直接看開發(fā)文檔或者看源碼的粗卜,他們可能沒有注意樓主是初學者撤嫩。
樓主是初學九秀,而如果連Spring都是初學增炭,那么可以肯定樓主之前沒有閱讀java框架源碼的習慣踩蔚。沒有閱讀過源碼砚嘴,知道整體流程么?知道依賴注入的概念么檬输?知道aop么照瘾?知道其中用到了哪些設計模式么?
再說了丧慈,如果一上手就是源碼析命?難道你沒有注意到Spring的類有多少個嗎?各個模塊之間的組織模式么逃默?所以我想說那些說看源碼的人鹃愤,完全是不負責任的。如果樓主能看懂源碼就不會問這樣的問題笑旺。
至于官方文檔昼浦,我也不建議,因為Spring出來這么久了筒主,不說4关噪,3.x在我印象中已經(jīng)有快600頁了。而且官方文檔是不會給你一個完整的demo的乌妙。所以你可能看完了使兔,也寫不了什么代碼。所以我覺得樓主應該看一下基礎的
個人推薦:
Spring 3.x企業(yè)開發(fā)實戰(zhàn): 非程僭希基礎虐沥,但是對知識點都有涉及。作者個人博客:stamen的程序員之路
張開濤的Spring系列:
修改于2015-04-09
我記得我剛開始學Spring的時候是看馬士兵的Spring視頻镐依,但是那個時候對ioc、aop等不了解天试,聽上去很簡單槐壳,但是具體有什么好處并不是十分了解,所以雖然看完了視頻喜每,也跟著寫完了里面的代碼务唐,但是一段時間過后,要讓我寫一個Spring程序带兜,依舊寫不出來
工作之后枫笛,因為公司也使用了Spring,所以為了工作刚照,你不得不自己學刑巧,上班的時候好好的看已經(jīng)寫好的代碼,不懂的就去網(wǎng)上查涩咖,下班后就自己搭建Spring的項目海诲,這種狀況持續(xù)了兩個月繁莹,不知道搭建了多少次環(huán)境后檩互,終于達到了一看控制臺就基本上明白是哪里出錯了。
之后咨演,一個小功能需要我獨立完成闸昨,我就把SpringMVC直接引入,不會的依舊去網(wǎng)上查薄风,一段時間后終于開始慢慢熟悉了饵较。這個時候也對Spring慢慢的熟悉起來了。
所以遭赂,項目驅動是最好的老師
比如你要學Spring循诉,首先其他的不說,先來一個用戶的增刪改查撇他,做完后茄猫,什么數(shù)據(jù)綁定、數(shù)據(jù)驗證困肩、攔截器划纽、mvc、jdbcTemplate锌畸、勇劣、、、都自然而然的熟悉起來了比默。
到了這個時候幻捏,就開始慢慢的深入了,比如SpringMVC的流程命咐、bean實例化步驟以及生命周期等等粘咖。
等你拿著Spring官方文檔的目錄,能把上面的東西說出來的時候侈百,基本上就算熟悉了Spring了瓮下,所謂熟悉就是出了問題基本上能通過看控制臺或者找資料能解決。
再進一步钝域,你就開始需要學習設計模式之類的讽坏,什么工廠模式、模板模式例证、適配器模式等路呜。
等熟悉了設計模式了,開始學gradle之類的構建技術(Spring就是用他來進行構建的)织咧,學得一般般之后胀葱,就可以開始熟悉Spring源碼了。
不過Spring源碼很大笙蒙,而且很多功能基本上只是為了保持向上兼容抵屿,所以要完全熟悉是需要大量的時間的。
真到了那一步捅位,基本上轧葛,任何一個框架拿過來,就可以真正拿著官方文檔就可以開始做項目了艇搀。