一步步掌握 Spring Boot 的用法,
建立 Java 後端工程師必備的技術能力!
【書籍簡介】
本書內容改編自第 15 屆 iThome 鐵人賽 Software Development 組的優選系列文章《Spring Boot 零基礎入門》。在現今 Java 的工作中,Spring Boot 這項技術已經是不可或缺的一部分,打開各大徵才網一看,大部分的 Java 工程師職缺都會要求求職者有使用過 Spring Boot 的經驗,甚至已經到了「不會 Spring、不談就業」的程度,因此學習 Spring Boot 已經是成為 Java 工程師的必備條件。
但是 Spring Boot 中所包含的技術非常多,對於剛入門的人來說,要從哪裡開始學起會是一個大問題,並且網路上的資料比較零碎,用東拼西湊的學習方式,也很難能夠真正的了解 Spring Boot 中的特性。
因此本書的目標在於幫助沒接觸過(甚至沒聽過)Spring Boot 的人,了解 Spring Boot 到底是什麼,並且能夠運用 Spring Boot 搭建一個簡易的後端系統。如果你打從心底想要從頭開始學習Spring Boot、或是你想了解業界目前最流行的 Spring Boot 的用法,那就跟著這本書一起,從零開始入門 Spring Boot 吧!
【目標讀者】
❏ 想學習 Spring Boot,但不知道從何入門
❏ 看過 Spring Boot 的相關介紹,但不了解實際要如何運用
【閱讀完本書之後,你可以學到】
❏ 了解什麼是 Spring Boot,以及如何運用 IntelliJ 這套軟體開發 Spring Boot 程式
❏ 了解 Spring 框架的兩大特性 - IoC 和 AOP
❏ 了解 Spring MVC、Spring JDBC 的基本用法
❏ 能夠運用 Spring Boot,實作出一個簡易的後端系統
【閱讀本書前,需具備的前置知識】
閱讀本書前,必須具備「Java 程式語言」和「MySQL 資料庫設計」的知識。
其中 Java 需要了解基本 Java 的語法,並且至少要知道「多型(polymorphism)」的概念,而 MySQL 則需要了解基本的 SQL 語法(Select、Update、Insert、Delete)的用法。
另外 Mac / Windows 皆可閱讀本書,電腦環境不影響。
作者簡介:
古君葳(古古)
曾任 Garmin 資深軟體工程師,畢業於台大資工所,喜歡研究後端技術,經營技術部落格「古古的後端筆記」,並於 Hahow 開設多堂線上課程,學生累積 5000 人以上。
「古古的後端筆記」網站: https://kucw.io
Facebook 粉專: https://www.facebook.com/kucw.io/
【Hahow 線上課程】
❏ Java 工程師必備!Spring Boot 零基礎入門
❏ 資安一把罩!Spring Security 零基礎入門
❏ GitHub 免費架站術!輕鬆打造個人品牌
目錄
PART 1 認識 Spring Boot
Chapter 01 Spring Boot 簡介
1.1 什麼是 Spring Boot ?
1.2 Spring Boot 的優勢在哪裡?
1.3 章節總結
Chapter 02 開發環境安裝(Mac 版)
2.1 本書中會使用到的開發工具
2.2 安裝 IntelliJ IDEA Ultimate 付費版
2.3 安裝 Java 21
2.4 安裝 MySQL 資料庫
2.5 安裝 Chrome 擴充功能 - Talend API Tester
2.6 安裝 iTerm2、oh-my-zsh、Homebrew
2.7 安裝 Git
2.8 章節總結
Chapter 03 開發環境安裝(Windows 版)
3.1 本書中會使用到的開發工具
3.2 安裝 IntelliJ IDEA Ultimate 付費版
3.3 安裝 Java 21
3.4 安裝 MySQL 資料庫
3.5 安裝 Chrome 擴充功能 - Talend API Tester
3.6 安裝 Git
3.7 章節總結
Chapter 04 第一個 Spring Boot 程式
4.1 啟用 IntelliJ IDEA Ultimate
4.2 創建第一個 Spring Boot 程式
4.3 IntelliJ 的操作介面
4.4 實作第一個 Spring Boot 程式
4.5 章節總結
PART 2 Spring IoC 介紹
Chapter 05 Spring IoC 簡介
5.1 什麼是 IoC ?
5.2 Spring IoC 的定義
5.3 Spring IoC 的優點
5.4 章節總結
Chapter 06 IoC、DI、Bean 的介紹
6.1 回顧:什麼是IoC ?
6.2 什麼是 DI ?
6.3 什麼是 Bean?
6.4 章節總結
Chapter 07 Bean 的創建和注入—@Component、@Autowired
7.1 創建 Bean 的方法:@Component
7.2 注入 Bean 的方法:@Autowired
7.3 在 Spring Boot 中練習 @Component 和 @Autowired 的用法
7.4 章節總結
Chapter 08 指定注入的 Bean—@Qualifier
8.1 回顧:注入 Bean 的方法:@Autowired
8.2 指定注入的 Bean 的名字:@Qualifier
8.3 在 Spring Boot 中練習 @Qualifier 的用法
8.4 章節總結
Chapter 09 Bean 的初始化—@PostConstruct
9.1 什麼是 Bean 的初始化?
9.2 初始化 Bean 的方法:@PostConstruct
9.3 補充一:我們真的需要 @PostConstruct 嗎?
9.4 補充二:初始化 Bean 的另一種方法:afterPropertiesSet()
9.5 章節總結
Chapter 10 讀取 Spring Boot 設定檔—@Value、application.properties
10.1 什麼是 Spring Boot 設定檔?
10.2 application.properties 的寫法
10.3 讀取 application.properties 中的值:@Value
10.4 補充一:Spring Boot 設定檔的兩種語法(properties 和yml)
10.5 補充二:yml 的語法介紹
10.6 章節總結
PART 3 Spring AOP 介紹
Chapter 11 Spring AOP 簡介
11.1 什麼是 Spring AOP ?
11.2 Spring AOP 的定義
11.3 章節總結
Chapter 12 Spring AOP 的用法—@Aspect
12.1 回顧:什麼是 Spring AOP?
12.2 在 pom.xml 中載入 Spring AOP 的功能
12.3 創建切面的方法:@Aspect
12.4 在切入點方法「執行前」執行切面:@Before
12.5 如何解讀 AOP 程式?
12.6 在 Spring Boot 中練習 @Aspect 和 @Before
12.7 其他時機點的用法:@After、@Around
12.8 補充一:切入點(Pointcut)如何撰寫?
12.9 補充二:Spring AOP 的發展
12.10 章節總結
PART 4 Spring MVC 介紹
Chapter 13 Spring MVC 簡介
13.1 回顧:前端和後端的差別
13.2 什麼是 Spring MVC?
13.3 補充:原來我們已經用過 Spring MVC 了?
13.4 章節總結
Chapter 14 Http 協議介紹
14.1 什麼是 Http 協議?
14.2 Http 協議的定義
14.3 Http Request(Http 請求)的格式規範
14.4 Http Response(Http 回應)的格式規範
14.5 在 API Tester 中練習發起 Http request、查看 Http response
14.6 補充:常見的發起 Http request 的工具
14.7 章節總結
Chapter 15 Url 路徑對應—@RequestMapping
15.1 回顧:什麼是 Http 協議?
15.2 什麼是 Url?
15.3 Url 的格式規範
15.4 Url 的例子分析
15.5 Url 路徑對應:@RequestMapping
15.6 在 Spring Boot 中練習 @RequestMapping 的用法
15.7 章節總結
Chapter 16 結構化的呈現數據—JSON
16.1 回顧:到目前為止的返回數據
16.2 什麼是 JSON?
16.3 JSON 格式介紹
16.4 JSON 所支援的類型
16.5 最後,讓我們回到一開始的問題
16.6 章節總結
Chapter 17 返回值改成 JSON 格式—@RestController
17.1 回顧:到目前為止的返回數據
17.2 如何將 Spring Boot 的返回值轉換成 JSON 格式?
17.3 補充:@Controller 和 @RestController 的差別在哪裡?
17.4 章節總結
Chapter 18 常見的 Http method—GET 和POST
18.1 回顧:什麼是 Http method?
18.2 GET 的用法和特性
18.3 POST 的用法和特性
18.4 GET 和 POST 的比較
18.5 章節總結
Chapter 19 取得請求參數(上)—@RequestParam、@RequestBody
19.1 在 Spring Boot 中取得請求參數的四個註解
19.2 接住添加在 url 後面的參數:@RequestParam
19.3 接住放在 request body 中的參數:@RequestBody
19.4 章節總結
Chapter 20 取得請求參數(下)—@RequestHeader、@PathVariable
20.1 接住放在 request header 中的參數:@RequestHeader
20.2 接住放在 url 路徑中的值:@PathVariable
20.3 補充:為什麼我們需要 @PathVariable?
20.3 小結:在 Spring Boot 中接住參數的四個註解
20.4 章節總結
Chapter 21 RESTful API 介紹
21.1 什麼是 API?
21.2 什麼是 RESTful API?
21.3 RESTful API 的注意事項
21.4 章節總結
Chapter 22 實作 RESTful API
22.1 回顧:什麼是 RESTfulAPI?
22.2 設計 RESTful API
22.3 在 Spring Boot 中實作 RESTful API
22.4 具體實作
22.5 章節總結
Chapter 23 Http status code(Http 狀態碼)介紹
23.1 什麼是 Http status code(Http 狀態碼)?
23.2 Http status code 中的分類
23.3 常見的 Http status code
23.4 章節總結
PART 5 Spring JDBC 介紹
Chapter 24 Spring JDBC 簡介
24.1 回顧:前端和後端的差別、Spring MVC 負責的部分
24.2 什麼是 Spring JDBC?
24.3 補充一:Spring JDBC 和 Spring Data JPA 的差別在哪裡?
24.4 補充二:什麼是 CRUD?
24.5 章節總結
Chapter 25 資料庫連線設定、IntelliJ 資料庫管理工具介紹
25.1 回顧:什麼是 Spring JDBC?
25.2 在 Spring Boot 中設定資料庫連線資訊
25.3 IntelliJ 中的資料庫管理工具
25.4 章節總結
Chapter 26 Spring JDBC 的用法(上)—執行 INSERT、UPDATE、DELETE SQL
26.1 Spring JDBC 用法介紹
26.2 update() 的基本用法
26.3 update() 中的 map 參數用法
26.4 update() 方法的用法總結
26.5 章節總結
Chapter 27 Spring JDBC 的用法(下)—執行 SELECT SQL
27.1 query() 方法的用法
27.2 使用 query() 方法查詢數據
27.3 query() 方法的用法總結
27.4 章節總結
Chapter 28 MVC 架構模式—Controller-Service-Dao 三層式架構
28.1 什麼是軟體工程?
28.2 什麼是 MVC 架構模式?
28.3 在 Spring Boot 中套用 MVC 架構模式
28.4 Controller-Service-Dao 三層式架構
28.5 實際使用 Controller-Service-Dao 三層式架構
28.6 使用 Controller-Service-Dao 三層式架構的注意事項
28.7 章節總結
PART 6 實戰演練
Chapter 29 實戰演練—打造一個簡單的圖書館系統
29.1 功能分析:圖書館管理系統
29.2 資料庫 table 設計
29.3 實作「查詢某一本書」的功能
29.4 實作「新增一本書」的功能
29.5 實作「更新某一本書」的功能
29.6 實作「刪除某一本書」的功能
29.7 圖書館管理系統總結
29.8 章節總結
Chapter 30 Spring Boot 零基礎入門總結
30.1 所以,我們到底學到了哪些東西?
30.2 Spring Boot 的學習路徑
30.3 關注我,學習更多後端知識
30.4 章節總結
PART 1 認識 Spring Boot
Chapter 01 Spring Boot 簡介
1.1 什麼是 Spring Boot ?
1.2 Spring Boot 的優勢在哪裡?
1.3 章節總結
Chapter 02 開發環境安裝(Mac 版)
2.1 本書中會使用到的開發工具
2.2 安裝 IntelliJ IDEA Ultimate 付費版
2.3 安裝 Java 21
2.4 安裝 MySQL 資料庫
2.5 安裝 Chrome 擴充功能 - Talend API Tester
2.6 安裝 iTerm2、oh-my-zsh、Homebrew
2.7 安裝 Git
2.8 章節總結
Chapter 03 開發環境安裝(Windows 版)
3.1 本書中會使用到的開發工具
3.2 安裝 IntelliJ IDEA Ultimate 付費版
...