內(nèi)容概覽
- Spring 學習討論
- Spring 項目
- Spring 學習順序
- 總結(jié)
1. Spring 學習討論
Spring框架是個讓人又愛又恨的東西。做Java開發(fā)的幾乎都知道Spring,它的簡介就不說了,很多地方都有。經(jīng)過很多年的學習,我覺得值得說的是,我們學習Spring技術都是從碎片技術開始學習的,向ioc,aop,到后來的Spring MVC,在后面可能是Spring整合HIbernate,Spring 整合 MyBatis,繼續(xù)學習的還有Spring Boot,Spring Cloud等微服務內(nèi)容。
針對每一個碎片,如果學習的比較系統(tǒng)還好,如果只是看了很多入門示例的文章,那么做開發(fā)的時候,會遇到很多似是而非的問題,甚至遇到很多地方自己并不知道有更好的方式或者選擇,造成多人開發(fā)的時候,每個人的代碼有各自的風格,互相看不太懂。如果遇到一些邊角的技術,很多時候也是查一下網(wǎng)上的博客,臨時學習一種寫法,然后實現(xiàn)。
上面的內(nèi)容看似很多,但是沒有整理成自己的系統(tǒng)。相對于碎片式學習,我更喜歡系統(tǒng)式學習,如果在腦海中有一個系統(tǒng),那么所有的碎片技術都可以整理到這個系統(tǒng)中,這樣就知道自己的技術體系差哪些內(nèi)容,這樣自己就能整理出自己的一個學習路線,并且在解決實際問題的時候,更加得心應手,甚至在技術擴展上能有自己的見解。
其實不僅是針對一個框架技術,針對我們整體的Java技術體系,都可以有一個自己的系統(tǒng),這個系統(tǒng)可以參考別人的技術體系,參考現(xiàn)在有的技術,參考自己的工作,但是最終應該自己總結(jié)出來,我們不斷總結(jié)和完善自己的技術體系,然后擴大這個體系,然后再完善。。。
2. Spring 項目
2020年是以天天睡覺開頭的。。。因為疾病流行,全民隔離,所以實在沒事干。懶了二十多天后,從新開始投入學習實在是不容易。
書歸正傳,我們打開Spring官網(wǎng),能感覺到和以前的不一樣了(其實更喜歡老風格),

我們來看Spring官方有哪些項目(https://spring.io/projects):

可以看到很多著名的項目,像Spring Boot,Spring Cloud,Spring Framework,Spring Security等等。熟悉的還好,不熟悉的會感到眼花繚亂,又多又亂,不知道從何入手。其實每個項目在每個應用領域上都可以說是獨立的,但是在技術上,又可能會依賴于其它一個或者多個項目,這時候?qū)W習順序很重要。本系列文章我們只討論Spring技術第一步開始學習的項目,就是最基礎的 Spring Framework項目。

Spring項目的版本很重要,我們每個階段的學習都要緊跟一個大版本去學習,這樣不用考慮兼容性問題,但是學習的前提是實踐,要學習和現(xiàn)在工作內(nèi)容相符合的版本。本系列我們學習Spring 4版本的最后一個穩(wěn)定版:

當我們系統(tǒng)學習完一個版本的時候,有新的版本的學習需求時,我們對老版本很熟悉的情況下,可以只進行補充和升級內(nèi)容的學習即可。
3. Spring 學習順序
Spring Framework項目都包含哪些內(nèi)容呢?其實大部分Spring學習教程或者書籍的內(nèi)容都是Spring Framework項目的技術內(nèi)容(比如經(jīng)典的Spring In Action)。
首先,來看官方學習文檔的地址:
https://docs.spring.io/spring/docs/4.3.26.RELEASE/spring-framework-reference/htmlsingle/
我們打開頁面,簡單看一下目錄,雖然都是英文,但是接觸了很長時間的Spring,關鍵的技術單詞還是能看到的,而且從目錄上也能看到我們學習Spring Framework應該按照什么順序來學。
整體來說,Spring Framework是從 spring ioc和spring aop兩塊開始的,這不僅是Spring Framework項目,也是其它所有項目的基礎。學習了這兩個內(nèi)容,后面還跟著很多在基礎項目方面的擴展技術,比如經(jīng)典的Spring MVC,還有Spring整合數(shù)據(jù)庫方面的技術,包括NoSQL數(shù)據(jù)庫,還有Spring 整合緩存和消息隊列等實用技術,還有測試,websocket等等。
從上面的資料中可以總結(jié)出我們在Spring Framework項目上的學習順序,就是先把基礎的兩塊(IOC和AOP)學會,然后再針對其它單個在每個領域的應用進行學習。能把整個Spring Framework學習完當然最好,如果公司很多東西實在用不到,比如這個小節(jié):

相信使用EJB的現(xiàn)在應該是少數(shù)了,針對這些內(nèi)容我們可以選擇性的了解或者略過。
4. 總結(jié)
Spring是一塊難啃的骨頭,但是既然干了這行,就得把該學的學好,這樣才能得到自己滿意的工資。。。嗯,對,掙錢才是學習最大的動力!