如何高效地把Spring boot學到能幹活的程度

Spring boot要學什麼?要學到什麼程度?以及相關的學習方法是什麼?這些很難量化,但極好形容:需要學到能幫你找到一份工作的程度。
 
任何脫離工作脫離實際的學習,都是沒有意義的。比如程序員運行通了很多開源項目,通過各種資料掌握了ioc,aop甚至全棧開發等等很多技術點,假設有100個,但可能真實開發過程中之用到60個,剩下的40個在初級開發階段基本用不到,要等到高級開發階段纔有可能用到。那麼就存在學習浪費的情況。
 
要知道,能留給零基礎或基礎薄弱的同學學習Spring boot的時間未必很長,比如3個月後畢業,或目前是做其他方面的工作,需要儘快學好。在這種情況下,全方位覆蓋的學習方法不能說沒錯,但本文給出的,針對大多數是公司Spring boot基本需求的精準性學習路線,可能更有參考價值。
 
大多數公司,對剛入職的Spring Boot方面的程序員,最低要求是,會在項目經理的帶領下,照着現有代碼抄,實現增刪改查的功能。再具體些,初級程序員無需搭建Spring boot框架,無需過多使用分佈式組件,甚至無需過多瞭解前端,只需要用Spring boot+jpa,外帶些輔助性的功能。
 
所以對應的Spring boot方面的學習路線如下所示。
 
1 搭建通環境,可以參考的環境包括jdk11,mysql服務器,mysql客戶端,比如navicat等,idea集成開發環境。這裏強調下,學習時一定得在環境上邊運行邊學。
 
2 搞明白一個基本的Spring boot+jpa連數據庫的流程。這裏可以推薦我寫的書,其中有能運行通的Spring boot+JPA案例,且用控制器+service+repo層作爲開發架構。
 
 
運行通這個案例後,你可以大致看下spring boot等基本語法,比如@Service等註解的用法,同時看下從控制器到 service層到repo,從前端到數據庫的整套流程。
 
3 在此基礎上,你可以進一步瞭解Spring boot裏aop,攔截器,@Autowired實現依賴注入的語法,這些我書上都有。在這個階段,你可以通過代碼,熟悉java基礎語法中的異常處理,ArrayList集合等語法的用法。
 
4 再進一步,你可以適當瞭解下Spring boot整合前端,所謂全棧開發的技能,在我的書裏,也講了Spring boot+vue,以及整合freemarker框架做全棧開發的技能。
 
其實你做到這步,先不考慮是否能過面試,但從技能角度來分析,至少達到了大多數公司開發的最低標準。大家想象下,新入職的Spring boot方面的員工,剛開始幹什麼活?會讓調試分佈式組件實現高併發?會讓搭建一個Spring boot框架?不是。在這個階段,項目經理會給出若干案例,讓員工照着些,開發新功能。比如會給個訂單查詢模塊,讓寫個類似的會員查詢。
 
也就是說,在這個階段,Spring boot的其他技能還真用不到,而公司面初級開發的時候,也是照着基本的增刪改查面的。反觀現在不少所謂的學習案例,裏面無非是諸多業務的堆積,可能前端頁面很花哨,但真實包含的Spring boot技能也就這些。
 
如果用這些案例學習,那麼初學者會把寶貴的學習時間浪費在前端花哨的頁面上,會用寶貴的學習時間重複地學習諸多面試時根本用不到的業務邏輯,甚至,有些案例還未必能保證運行通過。
 
大道至簡,在Spring boot剛開始階段,還真就可以只學增刪改查,當然還可以進一步學習logback日誌,安全框架,單元測試,junit等輔助技能。
 
學好這些技能以後,得馬上通過面試檢驗下自己的學習效果。可以這樣說,大多數初學者自己學的技能,和公司裏用到的,也就是面試會問到的,有一定差距。那麼根據本書學好Spring boot+Jpa增刪改查後,該繼續做什麼呢?
 
1 整理簡歷,簡歷上,儘量多包含你運行通的學習項目,當然有商業項目那最好了,這可能是大多數學習項目的最好歸宿。簡歷上的項目最好是3個以上,如果可以,持續的時間應當足夠長,在描述項目時,不僅要寫項目的需求,更要寫其中包含的技術。
 
2 整理簡歷並不容易,可以這樣說,不少同學整理的簡歷根本得不到面試機會。但這個和主題無關,本人不再展開講述。在確保能用簡歷得到面試機會的前提下,多背些Spring boot,java和數據庫的面試題,這塊網上實在太多,在本人的其他書和博客裏,也有描述,所以這裏也不展開。
 
3 但是,本人說下在面試中展示Spring boot方面技能的說辭。
 
本人在xx項目裏,用到了Spring boot技術,其中用到了jpa,aop和ioc等技術,用到了@Service和@Autowired等註解。本項目的控制器層,用restful規範對外提供服務,在service等層裏,用logback輸出日誌,在repo層裏,是用jpa連接mysql數據庫,在定義entity實體類時,用到了@entity和@table等註解。如果有能力,你可以繼續說,在本項目裏,我們還用到了redis做緩存,用dubbo做遠端調用,用rabbitmq做消息中間件。
其實在大多數的面試中,候選人只要能結合項目說清楚上述Spring boot技能點,外帶背些題,至少spring boot框架方面能過關。
在剛開始的幾場面試裏,你大概率是一問三不知,你要做的,就是收集面試題,覆盤分析,提升面試說辭和講述Spring boot技能的技巧。在這個階段,你更可以學些Spring boot整合分佈式組件的技巧。
這方面的技巧,一方面面試中會用到,另一方面,當你成爲高級開發後,遲早也會用到。
 
也就是說,當你按上述步驟,學好Spring Boot開發增刪改查業務的相關技能,學少許前端和全棧技術,外帶一些Spring Boot整合分佈式組件的技能,再加必要的面試技能,足以能找到初級開發的工作。
 
這個學習過程需要多久?從java零基礎到這個程度,3個月,因爲本人就用這套模式培訓零基礎的學員並能確保他們入職,如果有Java基礎,這個過程還能縮短。再自賣自誇下,爲什麼這套學習方法,乃至我寫的書能讓廣大初學者快速入門Spring boot呢?
 
1 儘可能去掉了不該學的技術,或者說,不讓學初級開發暫時用不到的技術。
 
2 講解技術的代碼,能跑通,而且不會通過堆積重複的業務代碼浪費大家寶貴的學習時間。
 
可能有些項目確實能幫助程序員提升,但這些項目未必能幫助零基礎同學入門Spring Boot。
 
學Spring boot的目的更是爲了掙錢,出於這個目的,上文也包含了一些Spring boot相關的面試技巧。不過出於“不偏題”的目的,上文更多包含的是“spring boot怎麼學”相關的內容。如果本文點擊量高,本人還會來進一步講述Spring boot方面寫簡歷和準備面試的相關技巧。
 
祝大家早日學好並精通Spring boot,更祝大家能早日通過Spring Boot掙錢,也請大家多多點讚我的文章。
 

這是我的公衆號,其中包含了大量面試文章,同時我自己出了多本Python和Java方面的書籍,會定期在公衆號裏發書的電子版。請大家關注下我的公衆號,謝謝了。

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