Java工程師學習指南 初級篇



最近有很多小夥伴來問我,Java小白如何入門,如何安排學習路線,每一步應該怎麼走比較好。原本我以爲之前的幾篇文章已經可以解決大家的問題了,其實不然,因爲我之前寫的文章都是站在Java後端的全局上進行思考和總結的,忽略了很多小白們的感受,而很多朋友都需要更加基礎,更加詳細的學習路線。

所以,今天我們重新開一個新的專題,分別按照四篇文章講述Java的學習路線(分別是入門篇,初級篇,中級篇,高級篇),筆者也打算趁此機會,回憶一下自己的Java學習歷程。今天我們要講的是,小白同學如何入門Java。

先聲明一點,文章內容不會詳細到每一步怎麼操作,只會提供大致的思路和方向,給大家以啓發,如果真的要一步一步指導操作的話,那至少需要一本書的厚度啦。

本文所述的方法不一定適合所有人,如有錯誤敬請諒解。



01








Java Web項目指南




jav在上一篇文章中,我們講到了入門Java的幾個步驟,先搭建好環境,然後熟悉基本語法,接着熟悉Java的一些核心技術,並且在代碼中進行實現。

如果你已經完成了這部分內容的學習,應該會感覺自己對Java已經有一定了解了,可以輕鬆地寫出一些Java代碼,比如實現多線程輸出數字,再如操作IO流等等。

當然,這些代碼通常只是一些demo,我們在實際的項目中可能並不會這麼簡單地使用這些技術,我們可能會同時使用集合類,多線程,以及操作數據庫的API。

所以,在今天的初級篇中,我們就來談談怎麼做項目吧。

Java Web項目

對於大部分Java新手來說,最適合他們入門的項目就是Java Web了。因爲Java天然適合做Web應用,並且生態完善,更有很多開源的工具和框架去支撐這些應用,比如Spring,Hibernate,SpringMVC等等。

那麼,如何開始着手做一個Java Web項目呢。個人認爲最好的方式就是看視頻了。因爲,看書的話,很多內容比較過時,並且一般不會提供源代碼。也有一些大佬喜歡推薦開源的項目(在GitHub上面的項目),但是對於小白來說,如果沒有很完整的文檔去指導他們,那也是毫無意義的。

曾幾何時,Java Web的項目還在使用JSP + Servlet進行開發,後來出現了Struts2,再後來,出現了我們現在也一直在用的SpringMVC,說實話,不論使用哪種開發框架,你都需要先花一些時間去學習相關的技術,否則你會發現,即使是看視頻,你也不知道里面在講什麼。

要想做好一個JavaWeb項目,你不僅需要一個好的項目課程,還需要足夠的知識儲備,下面就讓我們來理一理這些內容把。

知識儲備

Java基礎部分的內容咱們上次說過了,這裏就不再重複啦~下面我們分別來說說其他幾方面的知識儲備把




02








前端知識




推薦資源:在w3cschool學習html,css和js,支持在線測試代碼。

既然是做Web,就難免要涉及到前端技術,不過,現在前後端分離已經是一種趨勢,所以,如果你對前端不感興趣,也沒必要花太多時間去學習。

對於大部分同學來說,你最好要了解html的基本標籤和格式,自己能夠寫一些簡單頁面,CSS的話,也可以稍微接觸一些。相對於前面兩個服務於樣式的技術,我們倒是更應該去學習一下JavaScript,瞭解它的一些基本語法,以及ajax的使用,因爲在前後端交互時,ajax是非常重要的。

所以,做一個Java Web項目,你不需要花太多時間在寫前端頁面上,如果有源代碼可以直接使用,當然,對於一些需要修改的前端頁面,你得怎麼去做修改它,因爲有時候你需要使用JSP,JSP既包括前端代碼也包括Java代碼,如果你完全看不懂前端代碼的話,那就很尷尬了。



03








Java Web常用技術





JavaWeb的技術棧其實比較龐大,所以我們不要求面面俱到,只是希望你能夠熟悉一下項目中可能用到的技術。下面列舉一些常見的技術,大家最好要了解一下。

1 JSP和Servlet

推薦資源:《JavaWeb入門到精通》,慕課網、極客學院等網站上的JavaWeb基礎課程

這是Java Web開發最原始的形態,現在很少直接使用了,但是後來的各種框架其實也是建立在servlet之上來做的。你們需要了解這兩個技術分別是用來幹什麼的,最好能寫一些demo來實踐。

對於JSP,有時候你可能還要學習jstl等標籤語言,因爲這些標籤可以讓你更方便地往JSP中插入Java代碼。

2 Spring和SpringMVC

推薦資源:《Spring實戰》,慕課網、極客學院等網站上的SpringMVC基礎課程。

事實上,除了上述資源之外,你也可以直接到官網上查看快速開始文檔。

Struts2早已被時代拋棄,Spring則是當今的霸主,你需要了解Spring如何使用,以及SpringMVC如何使用,並且學會在項目中使用它。

由於SpringBoot最近很火,並且搭建方式比SpringMVC更簡單,你也可以先學習SpringBoot,以便更快速地搭建起你的第一個Java Web項目。

3 MySQL

推薦資源:《Sql必知必會》,Runoob上的MySQL基礎教程,慕課網、極客學院等網站上的視頻課程

一個JavaWeb應用一定要有數據啊,所以我們需要用到數據庫,其實搭一個mysql數據庫是非常簡單的,但是對於初學者來說最麻煩的就是寫sql了,所以,先學會建表,熟悉sql,對你以後做項目也是大有裨益的。

4 Hibernate和Mybatis

推薦資源:Runoob上的Hibernate和Mybatis基礎教程,慕課網、極客學院等網站上的視頻課程

當你學會了使用sql去查詢數據,可能還不足以讓你在項目中很方便地處理數據,因爲我們還需要一個步驟,就是把數據庫的數據轉化成Java裏的對象。orm框架就是爲了解決這一問題而出現的,它可以讓一張表和Java類一一對應,讓數據查詢變得非常方便。Hibernate和Mybatis都是orm框架,只不過現在mybatis越來越火了。

所以,你需要了解這一技術,因爲它會廣泛地運用到大部分Java Web項目中。

5 Maven

推薦資源:《maven實戰》,易百教程裏的maven教程,慕課網、極客學院等網站上的視頻課程

剛纔咱們已經說過了Spring,orm框架,以及MySQL等方面的技術了。實際上,一個簡單的Java Web項目也只需要這些東西了。

但是,有一個問題,就是:一個項目裏用到這麼多技術,所需要的jar包也會很多,我們如何管理這些jar包呢。如果直接導入所需jar包,那當jar包更新或者需要替換時,每次都要手動操作,非常麻煩。另外,當jar包很多時,項目打包後的war格式文件也會很大,不利於傳輸。

爲了解決上述問題,maven應運而生了。maven通過pom.xml文件來指定所需的jar包,並且自帶了很多構建相關的功能,比如編譯,打包,運行單元測試等等,因爲它本身就是一個構建工具。

當然,新手可能還難以理解這些概念,你必須要知道的是,大部分Java Web項目需要用maven來管理,你需要學會maven的基本用法,最基本的用法就是:學會修改pom.xml文件。

6 Tomcat

推薦資源:慕課網、極客學院等網站上的視頻課程。

對於小白來說,Tomcat相關的技術是非常複雜的,畢竟它是一個應用服務器啊,事實上這個時候,你只需要學會如何安裝Tomcat即可。畢竟,它在項目中的作用就是提供一個運行環境而已。

正常來說,你只要下載解壓Tomcat的壓縮包即可。由於現在的IDE都支持集成Tomcat,所以一般情況下你都可以在IDE中配置好你的Tomcat路徑,然後設置好你的項目路徑,IDE會自動把你的工程代碼部署到Tomcat服務器上。

如果你使用想跳過IDE直接部署工程到Tomcat上,也可以直接編譯工程並且打包得到war格式的文件(這個步驟可以使用maven來完成),然後拷貝war文件到Tomcat下的特定目錄即可。

上述兩種部署方式的詳細步驟請到搜索引擎尋找答案。

7 Git和GitHub

推薦資源:廖雪峯的Git教程,GitHub官網,慕課網、極客學院等網站上的視頻課程。

既然要做項目,爲什麼不把它發佈在GitHub上。當你熟悉了Git指令之後,你可以很方便地發佈你項目中的每一次更新,並且同步到GitHub上,這樣既可以讓你更好地管理項目版本,又可以讓你GitHub更加活躍,爲你未來的面試加分。

所以,趕緊學好Git指令,然後開啓你的項目之旅吧。



04








其他常用組件




除了上面幾種必備的技術之外,有時候我們在項目中還會用到其他東西,在這裏我們把它們叫做組件。這裏只做簡單的介紹,至於具體怎麼使用,在網上都可以很容易地找到相關文章。

1 日誌系統

當項目代碼比較多的時候,容易發生錯誤,日誌可以很好地記錄代碼運行時的錯誤,常用的日誌系統有log4j,logging等等,另外你還需要了解一下slf4j。

2 單元測試

日誌系統可以記錄代碼問題,單元測試則是爲了避免代碼出錯,常用的單元測試組件主要是JUnit,建議你找個文檔看一看,然後下載下來玩一下。

3 JSON

JSON逐漸成爲前後端數據交互的標準格式,爲了在項目中使用JSON的API,你也需要導入它的jar包,一般我們都會使用阿里提供的fastjson,趕快下載來玩一玩吧。

當然,常用的Java Web組件還有很多,比如HTTPClient,再比如一些加密工具,一些壓縮工具等等,這裏就不再一一列舉了。


05








推薦項目課程




現在網上的項目課程那麼多,哪一款更適合你呢?

其實我看過的視頻課程也不是很多,早先在慕課網和極客學院看過一些項目課程,覺得比較一般,對新手來說不太友好。

我的一些同學看過一些培訓機構的課程,專業講師錄的項目課程可能會稍微好一點。在我公衆號後臺回覆“Java”可以領取某機構的視頻課程,不過我不是打廣告的,這個機構也沒有給我錢啦。

當然,我最推薦的還是牛客網的視頻課程,分別是Java中級項目課和Java高級項目課。主要有幾點原因吧:

1 葉神講課,比較瞭解同學們的情況,而且技術功底擺在那裏沒的說。

2 所做的項目比較接地氣,用的技術棧也比較新,比較全。

3 我自己全程跟着牛客網的項目課做了一遍,感覺確實有收穫,而且每個章節的安排也比較合理。

4 配套有PPT,項目代碼以及部分安裝包,可以讓你省去很多繁瑣的環節。

看來我真是牛客網的真愛粉,居然幫牛客網免費推廣~

當然,你也可以自己去找一些你感興趣的項目課程,後續我也會收集更多的視頻課程來分享給大家。

PS:如果找不到我說的這些資源,也可以微信私我。老規矩,公衆號後臺回覆“少俠”可以勾搭作者。


06








總結




今天的內容就到這裏了,與其說是初級篇,反而更像是“項目篇”呢。因爲學完基礎內容之後,做項目是最好的複習和實踐方式了。所以這篇文章圍繞着做項目來展開,也就不足爲奇了。

今天我們主要講的是,做好一個JavaWeb項目,需要哪些知識儲備,需要了解哪些技術,並且我也推薦一些比較精品的視頻課程。

後面我還會寫一篇文章,專門講一講怎麼做項目,會更加詳細,更加側重怎麼去做,敬請期待吧。

總結以下今天說的幾個要點吧:

1 Java基礎知識儲備

2 前端知識儲備

3 瞭解和使用JavaWeb常用技術

4 JavaWeb常用組件介紹

5 視頻課程推薦

俗話說的好,磨刀不誤砍柴工,相信你看了本文之後,可以更好地做好知識儲備,然後開始Java Web的項目實踐,希望你能夠順利地完成你的第一個項目。



— END —




筆者在今年秋招中成功拿到BAT頭條網易等大廠的研發offer,期間總結了很多經驗和技巧,我把它們寫成文字,做成專題,發表在公衆號上,希望讓更多有需要的朋友看到。


關注公衆號後,可以在後臺回覆“Java”即可領取精品Java學習資源(不斷更新中),學習資源包括基礎,實戰以及求職等內容。


1、後臺回覆“少俠”,可以獲取我的微信,有什麼問題都能聊。
2、如果你想要加入微信交流羣,那麼可以在後臺回覆“江湖”。
3、如果你想要到我的技術博客看更多的Java後端技術文章,請回復“練級”。



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