🚀【Spring 學習路徑】各位敲碗的 Spring 全家桶來啦!
想成為 Java 工程師?想更了解資安?那就不能錯過這個 Spring 學習路徑啦!
Spring Boot 零基礎入門:帶你從零開始了解 Spring Boot,完全沒學過 Spring Boot 也沒問題!
Spring Security 零基礎入門:基於 Spring Boot 之上,了解 Spring 中最熱門的資安框架 - Spring Security!
🎁 【購課優惠】買課即贈 IntelliJ IDEA Ultimate 6 個月免費訂閱
各位同學,好康福利來啦!!! 由於課程中我們將使用 IntelliJ IDEA Ultimate 作為 Spring Boot 的主要開發工具,為了讓同學有更多時間可以練習 IntelliJ 的操作方法以及 Spring Boot 的用法,凡是購買此課程的同學,即贈送 IntelliJ IDEA Ultimate 6 個月的免費訂閱(價值約 3000 元)!
此活動為本課程與 JetBrains 的長期合作,數量有限,送完為止,同學在購買課程前,也可以先到課前問答區,詢問一下是否還有折扣碼,以免撲空。
已經購買課程的同學,可以點擊 這個連結,填寫一下你的 email,就能領取到課程的贈品了!
折扣碼使用注意事項
僅能兌換一項 JetBrains 的產品,JetBrains 會提供該產品 6 個月的免費訂閱期
在 6 個月的免費訂閱期結束後,如果同學想要續約該產品,可以獲得 40% 的折扣
曾購買過 JetBrains 產品的帳號無法使用該折扣碼
此折扣碼僅能用於課程學習用途,不可用於商業開發用途、也不可轉售
本次活動 JetBrains 及開課老師保有最終解釋權,亦有修改活動內容的權利
在現今 Java 的工作中,Spring 這項技術已經是不可或缺的一部分,JRebel 調查顯示 有超過 80% 的 Java 程式選擇使用 Spring 框架,而打開各大徵才網一看,也可以發現大部分的 Java 工程師職缺都會要求求職者有使用過 Spring 框架的經驗,基本上現在已經變成「不會 Spring、不談就業」的程度,也就是說,學習 Spring 已經是成為 Java 工程師的必要條件了。
但是 Spring 框架中所包含的技術非常多,要從哪裡開始學起對剛入門的人來說會是一大問題,並且網路上的資料比較零碎,用這種東拼西湊的學習方式,也很難能夠真正的了解 Spring 中的特性。
如果你打從心底想要從頭開始學習 Spring、或是你想了解業界目前最流行的 Spring Boot 的用法,那麼就跟著這門課一起從零開始入門 Spring Boot 吧!
傳統 Spring 框架的開發中,需要大量的 XML 配置才能使 Spring 框架運行起來,備受許多工程師詬病,而 Spring 框架的開發團隊 Pivotal 就是聽到了大家的心聲,因而在 2014 年推出 Spring Boot,期望 Spring Boot 能夠解決 Spring 框架繁瑣配置的缺點。
經過幾年的發展,Spring Boot 的功能已經非常成熟,並且在近幾年軟體業盛行微服務(microservice)的設計模式下,也帶動越來越多企業選擇使用 Spring Boot 作為主流的開發工具。
Spring Boot 之所以能夠成為目前業界最流行的開發工具,原因就在於 Spring Boot 憑借著 簡化 Spring 開發 以及 快速整合主流框架 的優點,讓工程師們可以更專注的在解決問題上,進而提升了前期開發和後續部署的效率。
Spring Boot 的發展,為企業級的 Java 開發帶來哪些優勢?
1. 約定優於配置
使用 Spring Boot 所定義的 starter,就可以沿用 Spring Boot 預先定義好的設定,快速的整合其他主流框架,這同時也簡化了開發時繁瑣的設定檔,使得工程師在開發上更為簡易,提升了前期開發的效率。
2. 內嵌的 Web 容器
Spring Boot 提供了內嵌 Web 容器的功能,使得工程師們可以直接使用 Maven 或 Gradle 等工具,將 Tomcat/JBoss 等 Web 容器打包進 .jar 檔,進而降低了企業部署的難度,提升後續部署的效率。
系統化的課程安排
有別於網路上相對零碎的學習資源,這門課程會分成五個階段,循序漸進的帶你了解 Spring Boot 的用法。
我會先從最基本的 Spring Boot 觀念開始講起,接著會帶你深入了解 Spring 框架,加強你對 Spring 了解的深度;當觀念基底打穩之後,再帶著你學習業界中使用頻率最高的 Spring 常用功能,拓展你對 Spring 生態系了解的廣度,透過由深到廣的階段性學習,一步步幫助你建立 Java 工程師所需具備的技術能力。
另外根據我自己寫程式的經驗,如果想要學好一門技術,用系統化的學習方式,一次將這個技術學透徹,會比在網路上查詢資料的碎片化的學習方式來的有效果!
完整的專案開發練習
在這門課的最後一個章節,會總和前面所有章節所學的內容,帶你實際的使用 Spring Boot 去開發出一個簡易的電商網站,透過完整的專案開發練習,更能發揮和體現出課程的學習成果。
不僅在實作專案的過程中,你可以審視自己對 Spring 常用功能的熟悉程度、累積你的專案實作經驗,同時我也會分享業界的實戰經驗給你,帶你提前熟悉業界的開發方式和流程。
理論和實踐並行的教學方式
這門課程中的每節課都會由 投影片教學 以及 程式練習 兩個部分所組成,在每節課的前半部分會使用投影片做教學,幫助你建立正確的語法觀念;而每節課的後半部分則會帶著你一起寫程式,實際的去練習這節課所學的內容,透過理論和實踐並行的方式,讓你對 Spring Boot 的用法更加熟悉(學程式嘛,沒啥捷徑,就是要多練習才會熟,寫就對了!)
業界實戰經驗分享
在寫程式的過程中,最害怕的是遇到了問題,卻不知道怎麼解決,一個好的工程師不僅要會寫程式,更重要的是也要具備解決問題的能力!我會在課程中模擬一些常見的錯誤,並且教大家在遇到類似的錯誤時,應該朝哪個方向去解決。
另外在上課的過程中,我也會將我近幾年工作的實戰經驗一併分享給大家,讓你在未來的開發上少走許多彎路!
這門課程適合:
想找 Java 工程師的工作,但不知道從何入門 Spring
曾自學過 Spring,但想了解業界目前最流行的 Spring Boot 的用法
看過 Spring Boot 的相關教材,但不了解實際要如何運用
覺得網路上的學習資源太過於碎片化,想要完整的學會 Spring Boot
上完這門課,你會學到:
能夠使用 Spring Boot 完成一個完整的專案開發,設計和實作出一個簡易的電商網站
能夠熟練使用 IntelliJ 軟體,提升開發程式的效率
能夠掌握 Spring 框架的兩大重要特性 - IoC 和 AOP,為你的工程師生涯打下良好的基礎
能夠運用 Spring 常見的功能,如 Spring MVC、Spring JDBC、Spring Data JPA、Spring Boot 單元測試
具備軟體開發必備的知識,如 Git 版本控制
上課前的注意事項
欲學習本門課的同學注意!這門課程為進階程式課程,學習這門課必須先具備「Java 程式語言」和「MySQL 資料庫設計」的知識
Java 程式語言需要了解:
基礎 Java 程式語法:資料型態(int, String...)、if...else、for loop、method
Java 三大特性:繼承(inherit)、封裝(encapsulate)、多型(polymorphism),特別是多型,一定要會(可以參考下方多型範例)
Java 關鍵字:public、private、static、final
常用的集合(Collections):List、Set、Map
例外處理 Exception、try-catch、throws
MySQL 資料庫設計需要了解:
MySQL 的資料型態:Int、Char、Varchar、Double...等
MySQL 的限制:PRIMARY KEY、UNIQUE KEY、NULL、AUTO_INCREMENT
基礎 Sql 語法:SELECT、INSERT、UPDATE、DELETE、WHERE、GROUP BY、ORDER BY、LIMIT
多表查詢 Join
補充
由於這門課程主要是專注在 Spring Boot 的「後端開發」介紹上,因此在課程中不會介紹到前端的相關知識,並且在「章節 11 : 實戰演練:打造簡易的電商網站」中,也只會實作後端 api 的部分,而不會涉及到前端頁面的實作,這部分再麻煩同學購課前留意一下了。
課程會使用螢幕錄製的方式進行投影片教學以及程式練習,透過理論和實踐並行的教學方式,讓大家對 Spring Boot 的用法更加的熟悉和上手!
在每節課的前半部分會使用投影片做教學,建立正確的語法觀念
在每節課的後半部分會進行程式練習,實際的在 IntelliJ 上練習這節課所學的內容
建議大家可以在上課的時候,跟著課程一起操作,會學習的比較快!
使用的軟體版本
Spring Boot:2.3.7.RELEASE(已新增介紹 Spring Boot 3 更新內容的單元)
IntelliJ IDEA Ultimate:2020.3.3
MySQL Community Server:8.0.22
本課程將分成五個階段、長度超過 40 個小時,帶你循序漸進的了解 Spring Boot 的用法,一步步的幫助你建立 Java 工程師所需具備的技術能力:
第一階段 - 認識 Spring Boot
階段學習成果:架設好開發環境,建立第一個 Spring Boot 程式
在第一階段裡,我會先帶你認識前端和後端的區別、以及安裝課程中會使用到的所有軟體,接著會帶你了解 IntelliJ 這套軟體的基本操作方法,並且帶你使用 IntelliJ 去創建你的第一個 Spring Boot 程式。
當你對 Spring Boot 有了一點認識之後,就可以進到下一個階段,開始你的 Spring Boot 之旅了~
章節 1:認識 Spring Boot
第二階段 - 深入了解 Spring 框架
階段學習成果:掌握 Spring 的兩大重要特性,為將來的學習打好基礎
在第二階段裡,我會帶你深入學習 Spring 框架中兩個非常重要的概念:IoC 和 AOP, IoC 和 AOP 是 Spring 框架裡的核心技術,幾乎所有 Spring 的功能,都是建立在這兩大特性之上,因此在這個階段中掌握好 Spring 框架的這兩大重要特性,可以為將來的學習打下良好的基礎。
章節 2:深入了解 Spring 框架 - IoC
章節 3:深入了解 Spring 框架 - AOP
第三階段 - Spring 常用功能
階段學習成果:拓展廣度,學習更多功能,可以完成 80% 的日常任務
在第三階段裡,我會帶你學習 Spring 的常用功能,包括 Spring MVC、Spring JDBC、Spring Data JPA、Spring Boot 單元測試、以及其他 Spring Boot 中常見的功能,這些功能都是在 Spring Boot 應用中非常通用、使用頻率非常高的技術!
當你學完了這些 Spring 的常用功能之後,不僅可以將他們直接應用在 Spring Boot 的專案上,同時也能拓展你的知識廣度,讓你對 Spring 生態系更加了解。
章節 4 : Spring 常用功能 - Spring MVC
章節 5:Spring 常用功能 - Spring JDBC
章節 6:Spring 常用功能 - Spring Data JPA
章節 7:Spring 常用功能 - Spring Boot 單元測試
章節 8 : 其他 Spring Boot 相關知識
第四階段 - 軟體開發知識
階段學習成果:補充軟體開發必備的知識,學習提升開發效率的技巧
在前三個階段中,我們都是在學習 Spring Boot 相關的知識,而在第四階段裡,我會帶你延伸學習一些後端工程師也須具備的軟體開發知識,像是 Git 版本控制、雲端服務簡介...等,讓你不僅能熟練使用 Spring Boot 的用法,同時也具備和其他工程師共同協作開發程式的技能。
另外在這個階段中,我也會教大家一些提升開發效率的進階技巧,提升你寫 code 的效率。
章節 9:增進開發效率的技巧
章節 10 : 軟體開發必備的知識
第五階段 - 實戰演練
階段學習成果:實戰演練,打造一個簡易的電商網站!
在最後的第五階段裡,我會整合前面四個階段所學的所有內容,從零開始的帶你使用 Spring Boot 開發出一個簡易的電商網站,做一次完整的專案開發。
實作內容包含:
使用者登入、註冊功能
查看商品列表、新增/刪除/修改商品的功能
創建訂單、查詢訂單的功能
單元測試
Git 版本控制
透過實戰演練的方式,不僅能夠幫助你將前面幾個階段所學的所有內容融會貫通,累積你的專案實作經驗,同時我也會分享業界的實戰經驗給你,帶你提前熟悉業界的開發方式和流程!
章節 11 : 實戰演練:打造簡易的電商網站
哈囉大家好,我是古君葳(古古),畢業於台灣大學資工所,目前在 Garmin 擔任 Java 後端工程師,負責開發 app 的後端程式。大家可以從以下幾個地方找到我的過往作品:
個人網站:古古的後端筆記
Facebook 粉絲頁:古古的後端筆記
2023 iThome 鐵人賽《優選》文章:Spring Boot 零基礎入門
我過去曾在 Hahow 上推出「Github 免費架站術!輕鬆打造個人品牌」課程,有超過 650 位同學參與了這門課程,並且獲得了 5.0(60 則評價)的好評!
透過統整過往同學的評價,可以發現大家會對以下這幾件事情比較在意:
老師語調是否清晰,觀念是否講解的簡單易懂?
內容是否夠實用,初學者是否能立即上手?
問題的回覆速度
所以在這門課中,我除了會維持上一門課講解的語調和清晰度之外,在課程內容的教學安排上,我也會將投影片教學和程式練習一起做搭配使用,讓你可以直接上手練習前面學到的內容,加深學習的印象!
問題回覆
可以在 Hahow 的問答區聯絡我、詢問課程相關問題,通常 1 ~ 3 天內我就會回覆,不管是程式還是環境相關的問題都可以詢問~
作業設計
這門課程只有一個作業,就是在最後分享你打造的電商網站的 Spring Boot 程式碼,歡迎大家參考其他同學所添加的新功能/新技術,一起學習成長~
