我推薦的 Java Web 學習路線

晚上在 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 SE

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 。設計模式

Web

強烈不推薦上來直接上框架,你須要先了解 JSP、Servlet,尤爲是 Servlet。這裏我使用的是 Head First Servlets & JSPServlet與JSP核心編程這本書網上評價也不錯。

好了,如今來講企業中的框架該怎麼學。最最最重要的是,學的過程當中必定要動手。

萬事開頭難。我最開始接觸的時候,也是不知道如何開始框架的學習,在網絡找了不少方法,浪費了很多時間,記住只有適合本身的纔是最好的。在開始介紹前,再重複一遍,一動手嘗試,二大膽猜想並驗證。

1. Spring

在我剛開始的時候,不少人推薦直接讀官方文檔,通過驗證,這種方法不適合初學者,或者說不適合我。

這裏我使用的是Spring實戰,學 Spring 必定要理解依賴注入(你說控制反轉也行)和 AOP,跟着這本書敲,書中關於配置的東西必定要看仔細、理解好,否則配錯了,本身找起來可能很麻煩。

2. Spring 與 MyBatis、Redis 等其餘框架的整合。

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

相關文章
相關標籤/搜索