Java工程師學習指南(初級篇)

程式設計師江湖發表於2019-11-12

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,再比如一些加密工具,一些壓縮工具等等,這裡就不再一一列舉了。

推薦專案課程

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

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

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

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

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

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

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

4 配套有PPT,專案程式碼以及部分安裝包,可以讓你省去很多繁瑣的環節。

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

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

06

總結

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

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

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

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

1 Java基礎知識儲備

2 前端知識儲備

3 瞭解和使用JavaWeb常用技術

4 JavaWeb常用元件介紹

5 視訊課程推薦

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

微信公眾號

個人公眾號:黃小斜

黃小斜是跨考軟體工程的 985 碩士,自學 Java 兩年,拿到了 BAT 等近十家大廠 offer,從技術小白成長為阿里工程師。

作者專注於 JAVA 後端技術棧,熱衷於分享程式設計師乾貨、學習經驗、求職心得和程式人生,目前黃小斜的CSDN部落格有百萬+訪問量,知乎粉絲2W+,全網已有10W+讀者。

黃小斜是一個斜槓青年,堅持學習和寫作,相信終身學習的力量,希望和更多的程式設計師交朋友,一起進步和成長!

原創電子書:
關注公眾號【黃小斜】後回覆【原創電子書】即可領取我原創的電子書《菜鳥程式設計師修煉手冊:從技術小白到阿里巴巴Java工程師》

程式設計師3T技術學習資源: 一些程式設計師學習技術的資源大禮包,關注公眾號後,後臺回覆關鍵字 “資料” 即可免費無套路獲取。

考研複習資料:
計算機考研大禮包,都是我自己考研複習時用的一些複習資料,包括公共課和專業的複習視訊,這裡也推薦給大家,關注公眾號後,後臺回覆關鍵字 “考研” 即可免費獲取。

技術公眾號:Java技術江湖

如果大家想要實時關注我更新的文章以及分享的乾貨的話,可以關注我的公眾號【Java技術江湖】一位阿里 Java 工程師的技術小站,作者黃小斜,專注 Java 相關技術:SSM、SpringBoot、MySQL、分散式、中介軟體、叢集、Linux、網路、多執行緒,偶爾講點Docker、ELK,同時也分享技術乾貨和學習經驗,致力於Java全棧開發!

Java工程師必備學習資源: 一些Java工程師常用學習資源,關注公眾號後,後臺回覆關鍵字 “Java” 即可免費無套路獲取。

我的公眾號

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69906029/viewspace-2660443/,如需轉載,請註明出處,否則將追究法律責任。

相關文章