java web後台學習路線
發表時(shí)間:2018-10-7
發布人(rén):融晨科技
浏覽次數:38
java web後台學習計劃
一、基礎學習(java)
-
java基礎語法
-
集合
-
io
-
多線程
-
并發
-
反射
-
網絡編程
java不(bù)管你現在(zài)學的(de)怎麽樣,到(dào)最後肯定要(yào / yāo)全部重新溫習一遍的(de)。大(dà)一下學期java沒好好學的(de),到(dào)現在(zài)起碼知道(dào)java的(de)基本語法。java基礎教程視頻:鏈接:Java學習 提取碼:4i51
二、數據庫
關于(yú) sql 方面:SQL 教程、MySQL 教程
我是(shì)了(le/liǎo)解了(le/liǎo)一些基礎語法之(zhī)後,就(jiù)直接跟着視頻的(de)老師做一些表操作實戰練習了(le/liǎo),比如單表查詢、多表查詢等。我建議學 sql 切勿眼高手低,需多加練習,不(bù)要(yào / yāo)隻看懂了(le/liǎo)就(jiù)行,因爲(wéi / wèi)工作中寫得一手簡練的(de) sql 是(shì)非常重要(yào / yāo)的(de)。在(zài)這(zhè)裏我說(shuō)下我在(zài)項目一直秉承着 sql 語句是(shì)能避免多表查詢就(jiù)避免多表查詢,能夠分開多條語句就(jiù)分開多條語句,因爲(wéi / wèi)這(zhè)裏涉及到(dào)多表查詢性能和(hé / huò)數據庫擴展的(de)問題。
關于(yú) JDBC 方面:JDBC 教程、 JDBC 獲取連接對象源碼分析
你需要(yào / yāo)弄懂 JDBC API 的(de)用法,其實它隻是(shì)一組規範接口,所有數據庫驅動隻要(yào / yāo)實現了(le/liǎo) JDBC,那麽我們就(jiù)可以(yǐ)通過标準的(de) API 調用相應的(de)驅動,完全不(bù)用知道(dào)驅動是(shì)怎麽實現的(de),這(zhè)就(jiù)是(shì)面向接口編程的(de)好處。
三、Web入門------>在(zài)你們正式開始學習框架前,你們需要(yào / yāo)用Servlet寫一個(gè)登錄注冊
曾經開源中國(guó)創始人(rén)紅薯寫了(le/liǎo)一篇文章「初學 Java Web 開發,請遠離各種框架,從 Servlet 開發」,我覺得他(tā)說(shuō)的(de)太對了(le/liǎo),在(zài)如今 Java 開發中,很多開發者隻知道(dào)怎麽使用框架,但根本不(bù)懂 Web 的(de)一些知識點,其實框架很多,但都基本是(shì)一個(gè)套路,所以(yǐ)在(zài)你學習任何框架前,請把 Web 基礎打好,把 Web 基礎打好了(le/liǎo),看框架真的(de)是(shì)如魚得水。
關于(yú) Http 協議,這(zhè)篇文章就(jiù)寫得很清楚:Http協議
關于(yú) Web 基礎這(zhè)方面數據推薦,我當時(shí)是(shì)看的(de)是(shì)「Tomcat 與 Java Web 開發技術詳解」,很詳細地(dì / de)講解了(le/liǎo)整個(gè) Java Web 開發的(de)技術知識點,但現在(zài)看來(lái),我覺得裏面講的(de)有一些技術确實有點老舊了(le/liǎo),不(bù)過可以(yǐ)了(le/liǎo)解一下 Java Web 開發的(de)曆史也(yě)是(shì)不(bù)錯的(de)。所以(yǐ)在(zài) Web 基礎這(zhè)方面我都是(shì)看傳智播客講的(de)「超全面 Java Web 視頻教程」,講得很詳細很生動,還有實戰項目!
關于(yú) JSP,你隻要(yào / yāo)了(le/liǎo)解它其實就(jiù)是(shì)一個(gè) Servlet 就(jiù)行了(le/liǎo),關于(yú)它的(de)一些标簽用法,我認爲(wéi / wèi)可以(yǐ)直接忽略,因爲(wéi / wèi)現在(zài)互聯網幾乎沒哪間公司還用 JSP,除了(le/liǎo)一些老舊的(de)項目。現在(zài)都是(shì)流行前後端分離,單頁應用,後端隻做 API 接口的(de)時(shí)代了(le/liǎo),所以(yǐ)時(shí)間寶貴,把這(zhè)些時(shí)間重點放在(zài) Servlet 規範上(shàng)面吧。
關于(yú) Tomcat,它是(shì)一個(gè) Web 容器,我們寫的(de)後端項目都要(yào / yāo)部署到(dào)Web容器才能運行,它其實是(shì)一個(gè)遵循 Http,通過 Socket 通信與客戶端進行交互的(de)服務端程序:Tomcat結構及處理請求過程
四、Web主流框架(SSM)--->你們這(zhè)學期的(de)重點,入門完成後,将它轉化成SSM框架,最終寫個(gè)web項目
Java Web 框架多如牛毛,等你有一定經驗了(le/liǎo),你也(yě)可以(yǐ)寫一個(gè) Web 框架,網上(shàng)很多說(shuō) Spring、Struts2、Hibernate 是(shì) Java 三架馬車,我隻想說(shuō),那是(shì)很久遠的(de)事情了(le/liǎo),我嚴重不(bù)推薦 Struts2、Hibernate,相信我,一開始隻需要(yào / yāo)上(shàng)手 Spring、SpringMVC、Mybatis 就(jiù)可以(yǐ)了(le/liǎo),特别是(shì) Spring 框架,其實 Spring 家族的(de)框架都是(shì)很不(bù)錯的(de)。
但是(shì)提醒一點就(jiù)是(shì),千萬不(bù)要(yào / yāo)沉迷于(yú)各種框架不(bù)能自拔,以(yǐ)會多種用法而(ér)沾沾自喜,導緻知其然而(ér)不(bù)知其所以(yǐ)然。
Spring其核心思想就(jiù)是(shì) IOC 和(hé / huò) AOP:
談談對 Spring IOC 的(de)理解
Spring 面向切面編程
SpringMVC 它的(de)思想是(shì)全部請求統一用一個(gè) Servlet 去做請求轉發與控制,這(zhè)個(gè) Servlet 叫 DispatcherServlet:
SpringMVC 初始化過程
SpringMVC 處理請求過程
Mybatis 它可實現動态拼裝 sql,避免了(le/liǎo)幾乎所有的(de) JDBC 代碼和(hé / huò)手動設置參數以(yǐ)及獲取結果集:
mybatis 入門教程
Mybatis 深入淺出(chū)系列
關于(yú)Spring+springmvc+mybatis的(de)整合,沒什麽好說(shuō)的(de),自己去看
鏈接:https://pan.baidu.com/s/1yjVabtnhlMpcqkBPr8AcOQ
提取碼:qt2g
五、Web進階(Spring Boot、spring Cloud)---->這(zhè)一塊根據自己喜好不(bù)強求,建議多看看,新技術正在(zài)向此發展
使用了(le/liǎo) SSM 框架後,你會覺得框架也(yě)不(bù)過這(zhè)麽回事,如果你對 Spring 有過大(dà)概了(le/liǎo)解,你也(yě)會産生想寫一個(gè)「山寨版」Spring 的(de)心思了(le/liǎo),一個(gè)輕量級 Web 框架主要(yào / yāo)具備以(yǐ)下功能:
-
可讀取用戶自定義配置文件,并以(yǐ)此來(lái)初始化框架;
-
具備 Bean 容器,管理項目的(de)類的(de)對象生命周期;
-
具備依賴注入,降低類之(zhī)間的(de)耦合性;
-
具備 AOP 功能,使項目可進行橫向編程,可不(bù)改變原有代碼的(de)情況增加業務邏輯;
-
具備 MVC 框架模式。
其實除了(le/liǎo) SSM 之(zhī)外,Web 框架可謂是(shì)百家齊放,其中以(yǐ) Spring 全家桶最爲(wéi / wèi)耀眼,在(zài)這(zhè)裏我極力推薦兩個(gè) Spring 家族框架:SpringBoot 和(hé / huò) SpringCloud。
SpringBoot 彌補了(le/liǎo) Spring 配置上(shàng)的(de)缺點,再也(yě)不(bù)用爲(wéi / wèi)繁雜的(de) xml 費勁精力了(le/liǎo),堪稱是(shì) Java 後端開發的(de)颠覆者,推薦書籍「Java EE 開發的(de)颠覆者:SpringBoot實戰」
SpringBoot 構建 web 項目
SpringBoot 自動化配置源碼分析
自定義 SpringBoot Starter
spring-boot-starter-tutorial
SpringCloud 是(shì)一個(gè)微服務架構,能夠将項目按照業務分成一個(gè)個(gè)微服務,每個(gè)微服務都可獨立部署,服務之(zhī)間互相協調。當一個(gè)項目越來(lái)越大(dà)時(shí),随之(zhī)而(ér)來(lái)的(de)是(shì)越來(lái)越難以(yǐ)維護,此時(shí)将項目拆分成若幹個(gè)微服務、單獨維護、單獨部署,也(yě)可以(yǐ)降低項目不(bù)同業務間的(de)耦合度。推薦書籍「Spring Cloud 與 Docker 微服務架構實戰」,這(zhè)本書将 Docker 與微服務完美地(dì / de)結合在(zài)一起,堪稱完美!
Spring Cloud 中文官網
史上(shàng)最簡單的(de) Spring Cloud 教程
有關于(yú) Spring Cloud 的(de)博客:
SpringCloud微服務架構之(zhī)服務注冊與發現
SpringCloud微服務架構之(zhī)服務消費者
SpringCloud微服務架構之(zhī)斷路器
SpringCloud微服務架構之(zhī)服務網關
六、你需要(yào / yāo)掌握的(de)其他(tā)技術(嘗試用git,maven,shiro對你的(de)項目進行升級)
-
Git:世界上(shàng)最先進的(de)分布式版本控制系統,建議所有初學者從命令行開始使用 Git
Git 官網
最全 Git 教程
Git 的(de)一些常用命令
-
Maven:一個(gè)用于(yú)構建項目的(de)工具,将項目間的(de)依賴通過 xml 完美地(dì / de)組織到(dào)一起,總之(zhī)用了(le/liǎo)它你就(jiù)不(bù)用去管jar包了(le/liǎo)
maven 的(de) pom.xml 文件詳解
-
Linux:至少要(yào / yāo)求常用的(de)命令會用,能夠在(zài) linux 環境下部署項目。
Linux 命令大(dà)全
最全的(de) SSH 連接遠程終端教程
-
Docker:簡直是(shì)項目部署神器啊,來(lái)不(bù)及解釋了(le/liǎo),看 Docker 系列博客,開啓 Docker 之(zhī)旅吧!推薦書籍「Docker 技術入門與實戰」,中國(guó)首部 Docker 著作!
Docker 實戰
-
Redis:一個(gè)高性能的(de) key-value 數據庫,當有并發量很高的(de)請求時(shí),将數據緩存在(zài) Redis 中,将提高服務器的(de)響應性能,大(dà)大(dà)減輕數據庫的(de)壓力。
redis 中文官網
redis 教程
-
shiro: 一個(gè)安全的(de)框架,有了(le/liǎo)它什麽認證權限都是(shì)浮雲。
shiro學習博客
shiro視頻教程
-
ajax :别以(yǐ)爲(wéi / wèi)它是(shì)前台的(de)就(jiù)不(bù)學,未來(lái)趨勢是(shì)前後台分離夥計,不(bù)知道(dào)這(zhè)個(gè)你怎麽去傳數據勒。
-
nginx:是(shì)一個(gè)異步框架的(de)web服務器,這(zhè)裏不(bù)解釋,反正你會用到(dào)的(de),直接放教程
還想要(yào / yāo)其他(tā)資源,自行去官網找社團資源搜索 夢翔官網
七、開發工具
工欲善其事,必先利其器,以(yǐ)下是(shì)我推薦的(de)一些開發工具:
-
Intellij IDEA:Java 開發最好的(de) IDE,這(zhè)個(gè)是(shì)公認的(de),我一開始是(shì)用 Eclipse 的(de),後來(lái)用了(le/liǎo) Intellij IDEA,才發現 Eclipse 就(jiù)是(shì)一坨屎,所以(yǐ)我以(yǐ)過來(lái)人(rén)勸你們不(bù)要(yào / yāo)使用 Eclipse,直接 Intellij IDEA!
IntelliJ IDEA 使用教程
-
Chrome:Chrome浏覽器還需要(yào / yāo)我解釋嗎?這(zhè)還要(yào / yāo)教程的(de)話你可以(yǐ)轉行了(le/liǎo)
-
Postman:很好用的(de)一個(gè)接口調試工具。
Postman 官網
八、項目實戰
最後準備幾個(gè)大(dà)型實戰項目練練手吧。
鏈接:實戰項目
提取碼:yijw