晚上在 V2 的 Java 的節點看到有人問 Java Web 書籍推薦。我這半年多的時間,也從別的方向開始轉向 Java 服務端開發,因此,我來講下個人學習路線,幫助有須要的朋友把半隻腳踏進 Spring 大門。java
本文所描述的路線,適合有其餘面嚮對象語言編程經驗,具有數據結構、算法、網絡、數據庫、設計模式、Linux 使用經驗的人,若是你沒有基礎,這篇文章可能不適合你。git
電腦系統推薦使用 *nix ,不管是 Linux 仍是 macOS 都有強大的工具能讓你學習的過程駕輕就熟,Windows 系統也不是不能夠,但 Windows 系統的終端我的很不喜歡。github
IDE 推薦 IntelliJ IDEA,使用 Eclipse 也是能夠的,不過如今愈來愈多的人開始使用 IntelliJ IDEA。web
學習的過程當中你會遇到各類各樣的問題,無腦推薦 Google,鑑於目前國內的網絡環境,你須要有利器可以訪問 Google(好比 AT&T 漫遊,誤)。redis
Java 基礎有 Java編程思想、Java核心技術、Head First Java 等,我選擇的是 Java編程思想(第4版),第 22 章是講 GUI 的,能夠不看。另外,Java 核心技術(卷1、卷2)中講了 Java 編程思想沒有涉及的網絡及 JDBC。算法
如今你有 Java 基礎了,可是如今 Java 發展到 1.9 的版本了,怎麼辦?spring
Java編程思想(第4版) 基本覆蓋了 1.5 版本的內容,1.六、1.7 版本的更新,能夠經過網上查資料來學習。1.8 版本有比較大的更新,建議買本書系統學習,我使用的是 Java 8 實戰。數據庫
好了,如今你會寫 Java 代碼了,可是 .java 文件如何成了 .class 文件,.class 文件長成什麼樣,又如何被加載到虛擬機中執行等等若干問題,難道你很差奇。這裏推薦深刻理解Java虛擬機(第2版)。編程
隨着時間流逝,你寫了很多代碼。但條條大路通羅馬、再加上語言自己的語言負擔,你或許會寫出不那麼優雅的代碼,你須要前輩的經驗來寫清晰、健壯、高效的代碼。Effective Java 就是這麼一本書。固然,還有重構、代碼整潔之道這樣的書,但這裏只討論 Java 。設計模式
強烈不推薦上來直接上框架,你須要先了解 JSP、Servlet,尤爲是 Servlet。這裏我使用的是 Head First Servlets & JSP,Servlet與JSP核心編程這本書網上評價也不錯。
好了,如今來講企業中的框架該怎麼學。最最最重要的是,學的過程當中必定要動手。
萬事開頭難。我最開始接觸的時候,也是不知道如何開始框架的學習,在網絡找了不少方法,浪費了很多時間,記住只有適合本身的纔是最好的。在開始介紹前,再重複一遍,一動手嘗試,二大膽猜想並驗證。
在我剛開始的時候,不少人推薦直接讀官方文檔,通過驗證,這種方法不適合初學者,或者說不適合我。
這裏我使用的是Spring實戰,學 Spring 必定要理解依賴注入(你說控制反轉也行)和 AOP,跟着這本書敲,書中關於配置的東西必定要看仔細、理解好,否則配錯了,本身找起來可能很麻煩。
MyBatis 推薦官方文檔,而後找個 demo 作一下,本身再練習練習就能夠了。
與 Spring 整合的時候參考文檔,能夠很簡單的完成。
Redis 等其餘框架的整合參考 Spring 實戰,或者找資料都是能夠的。
要不要看視頻這個事,個人觀點是能不看就不看,但不要因噎廢食。慕課網上有 SSM 框架的視頻,對於這個路徑,個人經驗是直接跳過前兩個,即戰鬥伊始--Spring和轉戰陣地--SpringMVC,這兩部分看 Spring實戰就能夠了,後邊兩個能夠看看。
注意,針對這個慕課網這個視頻我這裏解釋的是上文的你都作了,且本身寫的服務可以正常運行。
剛接觸框架配置很容易出錯,出錯的時候必定要耐心看輸出的信息,有的很簡單多是手誤,有的可能可能須要你對框架有些理解,因此 Just Google It。
手動倒入 jar 包費時費力,上 maven 啊。
好了,你的服務跑起來了,你的半隻腳已經進入了 Spring 的大門,請繼續加油。
我在 Github 上有一個基於 SSM(Spring、Spring MVC、MyBatis)的小項目,部分學習內容會在該項目中使用。
該項目 Spring 相關配置,徹底使用基於註解的方式。博主在剛接觸各類配置的時候,繞了一些彎路。
對於剛接觸這些框架的朋友,該項目或許會有些許幫助。若是在理解該項目時或參考時遇到任何問題,歡迎經過你能找到的任何方式聯繫我,很是樂意共同窗習。
項目地址爲:spittr 。
文中提升了慕課網,若是你喜歡 xml 配置的方式,可參考另一個項目 seckill 。該項目是博主在慕課網上學習該課程的源代碼,項目中沒有徹底採用基於註解的方式,相比而言,該項目在配置方面更加老道。
我寫完了,若是你有什麼不明白的能夠發郵件給我。若是文中有不合適的地方,也請指正。個人郵箱地址是:shixj.cs@foxmail.com。