作者:劉易友
鏈接:http://www.zhihu.com/question/22021742/answer/43253452
來源:知乎著作權(quán)歸作者所有,轉(zhuǎn)載請聯(lián)系作者獲得授權(quán)。
我是來反對那些說直接看開發(fā)文檔或者看源碼的,他們可能沒有注意樓主是初學(xué)者。
樓主是初學(xué),而如果連Spring都是初學(xué),那么可以肯定樓主之前沒有閱讀java框架源碼的習(xí)慣。沒有閱讀過源碼,知道整體流程么?知道依賴注入的概念么?知道aop么?知道其中用到了哪些設(shè)計模式么?
再說了,如果一上手就是源碼?難道你沒有注意到Spring的類有多少個嗎?各個模塊之間的組織模式么?所以我想說那些說看源碼的人,完全是不負責(zé)任的。如果樓主能看懂源碼就不會問這樣的問題。
至于官方文檔,我也不建議,因為Spring出來這么久了,不說4,3.x在我印象中已經(jīng)有快600頁了。而且官方文檔是不會給你一個完整的demo的。所以你可能看完了,也寫不了什么代碼。所以我覺得樓主應(yīng)該看一下基礎(chǔ)的
個人推薦:
Spring 3.x企業(yè)開發(fā)實戰(zhàn): 非常基礎(chǔ),但是對知識點都有涉及。作者個人博客:stamen的程序員之路
張開濤的Spring系列:
修改于2015-04-09
我記得我剛開始學(xué)Spring的時候是看馬士兵的Spring視頻,但是那個時候?qū)oc、aop等不了解,聽上去很簡單,但是具體有什么好處并不是十分了解,所以雖然看完了視頻,也跟著寫完了里面的代碼,但是一段時間過后,要讓我寫一個Spring程序,依舊寫不出來
工作之后,因為公司也使用了Spring,所以為了工作,你不得不自己學(xué),上班的時候好好的看已經(jīng)寫好的代碼,不懂的就去網(wǎng)上查,下班后就自己搭建Spring的項目,這種狀況持續(xù)了兩個月,不知道搭建了多少次環(huán)境后,終于達到了一看控制臺就基本上明白是哪里出錯了。
之后,一個小功能需要我獨立完成,我就把SpringMVC直接引入,不會的依舊去網(wǎng)上查,一段時間后終于開始慢慢熟悉了。這個時候也對Spring慢慢的熟悉起來了。
所以,項目驅(qū)動是最好的老師
比如你要學(xué)Spring,首先其他的不說,先來一個用戶的增刪改查,做完后,什么數(shù)據(jù)綁定、數(shù)據(jù)驗證、攔截器、mvc、jdbcTemplate、、、、都自然而然的熟悉起來了。
到了這個時候,就開始慢慢的深入了,比如SpringMVC的流程、bean實例化步驟以及生命周期等等。
等你拿著Spring官方文檔的目錄,能把上面的東西說出來的時候,基本上就算熟悉了Spring了,所謂熟悉就是出了問題基本上能通過看控制臺或者找資料能解決。
再進一步,你就開始需要學(xué)習(xí)設(shè)計模式之類的,什么工廠模式、模板模式、適配器模式等。
等熟悉了設(shè)計模式了,開始學(xué)gradle之類的構(gòu)建技術(shù)(Spring就是用他來進行構(gòu)建的),學(xué)得一般般之后,就可以開始熟悉Spring源碼了。
不過Spring源碼很大,而且很多功能基本上只是為了保持向上兼容,所以要完全熟悉是需要大量的時間的。
真到了那一步,基本上,任何一個框架拿過來,就可以真正拿著官方文檔就可以開始做項目了。