《Spring Boot趣味實戰課》是電子工業出版社出版圖書,作者是劉水鏡
市面上能把Spring Boot豐富的內容、原理、實用方法講得如此全面、有趣的書不多
基本介紹
- 中文名:Spring Boot趣味實戰課
- 作者:劉水鏡
- 出版社:電子工業出版社
- 出版時間:2022年5月
- 頁數:312 頁
- 定價:108 元
- 開本:16 開
- ISBN:9787121432163
內容簡介,圖書目錄,作者簡介,
內容簡介
行文風格深入淺出、通俗易懂、風趣幽默、輕鬆愉快。從 Hello World 聊到源碼分析,從工具使用講到內部原理,從日常生活說到設計哲學
圖書目錄
第 1 章 Spring Boot 憑什麼成為 JVM圈的框架“一哥” 1
1.1 用數據說話 1
1.1.1 市場份額 1
1.1.2 關注度 2
1.2 多方支持 3
1.2.1 官方力推 3
1.2.2 “大廠”背書 4
1.3 打鐵還需自身硬 5
1.3.1 高顏值 5
1.3.2 有內涵 6
1.4 要點回顧 7
第 2 章 兵馬未動,糧草先行——碼前準備 8
2.1 軟體環境 8
2.2 大管家 Maven 9
2.2.1 pom 檔案 9
2.2.2 常用概念 11
2.3 打造一件趁手的兵器 13
2.3.1 設定 13
2.3.2 技巧 19
2.3.3 外掛程式 25
2.4 要點回顧 26
第 3 章 牛刀小試——五分鐘入門 Spring Boot 27
3.1 萬物皆可 Hello World 27
3.1.1 創建一個 Web 工程 27
3.1.2 完成核心代碼 30
3.1.3 運行並查看效果 32
3.2 Spring Boot 的工程結構 33
3.2.1 結構詳解 34
3.2.2 結構分類 35
3.3 珍愛生命,我用 Starters 35
3.3.1 沒有 Starters 的日子 36
3.3.2 有了 Starters 以後 37
3.3.3 什麼是 Starters 37
3.4 值得擁有的 YAML 39
3.4.1 Properties 與 YAML 39
3.4.2 YAML 語法 40
3.5 要點回顧 41
第 4 章 斗轉星移,無人能及——Spring MVC 42
4.1 Spring MVC 簡介 42
4.2 接收參數的各種方式 43
4.2.1 常用註解 44
4.2.2 準備工作 45
4.2.3 無註解方式 46
4.2.4 @RequestParam 方式 46
4.2.5 @PathVariable 方式 47
4.2.6 @RequestBody 方式 47
4.3 參數校驗 49
4.3.1 開啟參數校驗 49
4.3.2 查看校驗效果 50
4.3.3 常用的參數校驗註解 51
4.4 原理分析 52
4.4.1 流程分析 52
4.4.2 深入核心 53
4.5 攔截器 54
4.5.1 自定義攔截器 55
4.5.2 攔截器的執行流程 57
4.5.3 多個攔截器的執行順序 59
4.6 要點回顧 62
第 5 章 你有 REST Style 嗎 63
5.1 你應該懂一點 HTTP 63
5.1.1 報文 63
5.1.2 狀態碼 65
5.1.3 安全性與冪等性 65
5.1.4 協定版本 66
5.2 接口代言人 Swagger 67
5.2.1 整合 67
5.2.2 效果 69
5.2.3 常用註解 69
5.2.4 增強版 70
5.3 解密 REST 71
5.3.1 REST 定義 71
5.3.2 RESTful 73
5.3.3 RESTful 實踐 73
5.4 URL 與 URI 76
5.4.1 關係 76
5.4.2 區別 77
5.5 要點回顧 77
第 6 章 與持久化有關的那些事兒 78
6.1 發展 78
6.2 派系之爭 79
6.3 Spring Data JPA 81
6.3.1 簡介 81
6.3.2 集成 83
6.3.3 極簡的 CRUD 86
6.3.4 分頁、排序 88
6.3.5 揭秘 JPA 88
6.3.6 約定方法 91
6.3.7 自定義 93
6.3.8 審計 94
6.4 MyBatis Plus 97
6.4.1 集成 97
6.4.2 代碼生成 98
6.4.3 自定義模板 104
6.4.4 分頁 107
6.4.5 條件構造器 108
6.4.6 自動填充 112
6.5 強大的 Druid 114
6.5.1 基本原理 114
6.5.2 如何選擇連線池 115
6.5.3 配置 115
6.5.4 監控 117
6.6 事務 120
6.6.1 事務的特性 120
6.6.2 髒讀、不可重複讀、幻讀 121
6.6.3 在 Spring 中使用事務 124
6.6.4 Spring 中的事務傳播行為 125
6.6.5 拓展 135
6.7 要點回顧 135
第 7 章 出征前送你 3 個錦囊 136
7.1 代碼的護身符——單元測試 136
7.1.1 一個單元測試的自我修養 136
7.1.2 為什麼要寫單元測試 137
7.1.3 Junit 138
7.1.4 實戰 140
7.2 天有不測風雲——異常處理 143
7.2.1 異常體系 143
7.2.2 全局異常處理 145
7.2.3 異常與意外 149
7.3 軟體系統的黑匣子——日誌 149
7.3.1 日誌的作用 149
7.3.2 日誌級別 150
7.3.3 常見日誌框架 151
7.3.4 配置 153
7.3.5 規範 156
7.3.6 得日誌者得天下 157
7.4 要點回顧 157
第 8 章 Spring Boot 的核心原理 158
8.1 你真的懂 IOC 嗎 158
8.1.1 實現方式 158
8.1.2 傳統方式 vs 控制翻轉 159
8.1.3 IOC 的意義 163
8.2 什麼是 AOP 164
8.2.1 AOP 與 OOP 164
8.2.2 為什麼用 AOP 165
8.2.3 用在什麼地方 166
8.2.4 怎么用 167
8.2.5 執行順序 171
8.2.6 原理簡析 174
8.3 為什麼一個 main 方法就能啟動項目 175
8.3.1 概覽 175
8.3.2 套用啟動計時 177
8.3.3 列印 Banner 178
8.3.4 創建上下文實例 179
8.3.5 構建容器上下文 180
8.3.6 刷新上下文 181
8.4 比你更懂你的自動配置 184
8.4.1 自動配置原理 184
8.4.2 按需配置 191
8.5 要點回顧 192
第 9 章 網際網路套用性能瓶頸的“萬金油”——Redis 193
9.1 初識 Redis 193
9.1.1 Redis 特性 193
9.1.2 Redis 的“看家
本領”——快 195
9.2 Redis 可以做什麼 197
9.3 使用 Redis 198
9.3.1 安裝 Redis 198
9.3.2 默認連線埠來歷 199
9.3.3 集成 200
9.3.4 Hello Redis 201
9.4 更多用法 201
9.4.1 Template 201
9.4.2 opsFor 202
9.4.3 綁定 key 操作 203
9.4.4 序列化策略 203
9.5 Redis 實現分散式鎖 205
9.5.1 鎖的自我修養 206
9.5.2 實現分散式鎖的方式 206
9.5.3 實現分散式鎖 207
9.5.4 其他實現方案 209
9.6 要點回顧 210
第 10 章 安全領域的“扛把子”——Spring Security 211
10.1 認證和授權 211
10.1.1 認證 211
10.1.2 授權 212
10.2 Spring Security 簡介 212
10.3 功能一覽 212
10.3.1 多種認證方式 212
10.3.2 多種加密方式 213
10.3.3 多種授權方式 214
10.4 動手實踐 215
10.4.1 集成 215
10.4.2 自定義用戶 215
10.4.3 從資料庫中獲取用戶信息 216
10.4.4 登錄成功與失敗處理 218
10.4.5 許可權控制 220
10.4.6 異常處理 222
10.4.7 記住我 224
10.4.8 常用的安全配置 226
10.4.9 獲取當前用戶 228
10.5 前景 229
10.6 要點回顧 230
第 11 章 自律到“令人髮指”的定時任務 231
11.1 什麼時候需要定時任務 231
11.2 Java 中的定時任務 232
11.2.1 單機 232
11.2.2 分散式 232
11.3 Spring Task 實戰 232
11.3.1 故事背景 234
11.3.2 fixedDelay 模式 234
11.3.3 cron 模式 235
11.3.4 fixedRate 模式 236
11.4 整合 Quartz 237
11.4.1 核心概念 237
11.4.2 代碼實戰 237
11.4.3 Quartz 表說明 238
11.5 cron 表達式 239
11.6 要點回顧 240
第 12 章 RabbitMQ 從哪裡來、是什麼、能幹什麼、怎么乾 241
12.1 訊息佇列的由來 241
12.2 核心概念 241
12.2.1 客戶端 242
12.2.2 服務端 242
12.2.3 連線和信道 243
12.3 業務場景 244
12.4 工作模式 244
12.4.1 無交換器參與 245
12.4.2 有交換器參與 246
12.5 動手實踐 247
12.5.1 Web 管理端 247
12.5.2 代碼實戰 249
12.6 要點回顧 257
第 13 章 反其道行之的Elasticsearch 258
13.1 Elasticsearch 簡介 258
13.1.1 什麼是搜尋引擎 258
13.1.2 在搜尋界的地位 259
13.1.3 為什麼是 Elasticsearch 259
13.2 核心概念 260
13.2.1 核心對象 260
13.2.2 倒排索引 261
13.3 動手實踐 262
13.3.1 版本匹配 262
13.3.2 準備工作 262
13.3.3 Elasticsearch 的 CRUD 264
13.3.4 ElasticsearchRestTemplate 265
13.4 數據同步 267
13.4.1 定時同步 268
13.4.2 實時同步 268
13.5 要點回顧 268
第 14 章 項目上線的“最後一公里”——部署與監控 269
14.1 部署 269
14.1.1 Jar 269
14.1.2 War 270
14.1.3 DevTools 272
14.2 監控 275
14.2.1 Actuator 275
14.2.2 自定義 282
14.2.3 Spring Boot Admin 285
14.3 要點回顧 291
第 15 章 你學習技術的“姿勢”對嗎 292
15.1 技術應該怎么學 292
15.2 不怕麻煩 293
15.3 遇到問題怎么辦 294
15.3.1 IDE 會幫助你解決問題 294
15.3.2 錯誤信息會告訴你怎么解決問題 294
15.3.3 藉助網際網路 295
15.3.4 提問的正確“姿勢” 296
15.4 要點回顧 296
附錄 A 使用 Docker 配置開發環境 297
Docker 常用命令 297
安裝環境 299
作者簡介
劉水鏡:
北京理工大學軟體工程碩士,多年一線研發經驗,主導過多個複雜系統的設計與交付。
熱愛分享,十餘年持續技術文章輸出,CSDN 部落格專家。
2020 年《Spring Boot 趣味私房課》專欄上線,憑藉風趣幽默、深入淺出的寫作風格深受讀者好評。
專注於微服務、分散式相關技術的研究,對技術學習有著獨樹一幟的見解。
曾任第45屆世界技能大賽中國區教練兼裁判。