Web 輕量級框架 Spring + Spring MVC + MyBatis 整合開發實戰, 2/e
內容描述
本書以Spring 5、Spring MVC 5和MyBatis 3.X為基礎,從開發實戰出發,結合最新的開發工具IntelliJ IDEA,通過完整的項目實例讓讀者瞭解和學習SSM框架,又好又快地掌握SSM的開發技能。全書共分11章,第1~2章,由零開始,引導讀者快速搭建SSM框架。第3章主要介紹Spring框架基礎知識IOC和AOP。第4章主要介紹MyBatis的映射器、動態SQL、註解配置和關聯映射。第5章主要介紹Spring MVC請求映射、參數綁定註解和信息轉換詳解。第6章主要介紹MyBatis的分頁和分頁插件PageHelper、Spring數據校驗和Spring與MyBatis事務管理。第7章主要介紹MyBatis的一級緩存和二級緩存機制。第8章主要介紹Spring MVC執行流程、處理映射器和適配器以及視圖解析器。第9章主要介紹MyBatis的整體框架、初始化流程和執行流程。第10章和第11章介紹用戶管理系統和一個完整的高並發點贊項目的開發。 本書來自於一線開發人員的編程實踐,突出技術的先進性和實用性,適用於所有Java編程語言開發人員、SSM框架開發人員使用,也可作為培訓機構和大專院校相關專業的教學用書。
目錄大綱
第1章 準備SSM開發環境 1
1.1 SSM簡述 1
1.1.1 Spring簡述 1
1.1.2 Spring MVC簡述 3
1.1.3 MyBatis簡述 3
1.2 JDK安裝 4
1.3 IntelliJ IDEA安裝 5
1.4 Tomcat的安裝與配置 6
1.4.1 Tomcat的下載 6
1.4.2 IntelliJ IDEA配置Tomcat 6
1.5 Maven的安裝和配置 8
1.6 MySQL數據庫的安裝 10
1.6.1 MySQL的安裝 10
1.6.2 Navicat for MySQL客戶端安裝與使用 10
1.7 思考與練習 11
第2章 快速搭建SSM項目 12
2.1 快速搭建Web項目 12
2.2 集成Spring 16
2.3 集成Spring MVC框架 20
2.4 集成MyBatis框架 26
2.5 集成Log4j日誌框架 32
2.6 集成JUnit測試框架 36
2.7 思考與練習 37
第3章 Spring核心IOC與AOP 38
3.1 Spring IOC和DI 38
3.1.1 Spring IOC和DI概述 38
3.1.2 單例模式 39
3.1.3 Spring單例模式源碼解析 45
3.1.4 簡單工廠模式詳解 48
3.1.5 工廠方法模式詳解 51
3.1.6 Spring Bean工廠類詳解 55
3.2 Spring AOP 57
3.2.1 Spring AOP概述 57
3.2.2 Spring AOP核心概念 57
3.2.3 JDK動態代理實現日誌框架 58
3.2.4 Spring AOP實現日誌框架 63
3.2.5 靜態代理與動態代理模式 65
3.3 思考與練習 68
第4章 MyBatis映射器與動態SQL 69
4.1 MyBatis映射器 69
4.1.1 映射器的主要元素 69
4.1.2 select元素 70
4.1.3 insert元素 71
4.1.4 selectKey元素 72
4.1.5 update元素 73
4.1.6 delete元素 73
4.1.7 sql元素 74
4.1.8 #與$區別 75
4.1.9 resultMap結果映射集 75
4.2 動態SQL 77
4.2.1 動態SQL概述 77
4.2.2 if元素 77
4.2.3 choose、when、otherwise元素 78
4.2.4 trim、where、set元素 79
4.2.5 foreach元素 82
4.2.6 bind元素 82
4.3 MyBatis註解配置 83
4.3.1 MyBatis常用註解 83
4.3.2 @Select註解 84
4.3.3 @Insert、@Update、@Delete註解 84
4.3.4 @Param註解 85
4.4 MyBatis關聯映射 86
4.4.1 關聯映射概述 86
4.4.2 一對一 86
4.4.3 一對多 89
4.4.4 多對多 92
4.5 思考與練習 97
第5章 Spring MVC常用註解 98
5.1 請求映射註解 98
5.1.1 @Controller註解 98
5.1.2 @RequestMapping註解 99
5.1.3 @GetMapping和@PostMapping註解 104
5.1.4 Model和ModelMap 104
5.1.5 ModelAndView 105
5.1.6 請求方法可出現參數和可返回類型 106
5.2 參數綁定註解 108
5.2.1 @RequstParam註解 108
6.2.2 @PathVariable註解 109
5.2.3 @RequestHeader註解 110
5.2.4 @CookieValue註解 110
5.2.5 @ModelAttribute註解 111
5.2.6 @SessionAttribute和@SessionAttributes註解 115
5.2.7 @ResponseBody和@RequestBody註解 117
5.3 信息轉換詳解 119
5.3.1 HttpMessageConverter 119
5.3.2 RequestMappingHandlerAdapter 121
5.3.3 自定義HttpMessageConverter 122
5.4 思考與練習 123
第6章 分頁開發、數據校驗與事務管理 124
6.1 RowBounds類 124
6.1.1 分頁概述 124
6.1.2 RowBounds類 125
6.1.3 RowBounds分頁應用 126
6.1.4 RowBounds分頁原理 127
6.1.5 分頁插件PageHelper 128
6.2 Spring數據校驗 130
6.2.1 數據校驗概述 131
6.2.2 Spring的Validation校驗框架 131
6.2.3 JSR 303校驗 135
6.3 Spring和MyBatis事務管理 139
6.3.1 Spring事務管理 139
6.3.2 MyBatis事務管理 141
6.4 思考與練習 145
第7章 MyBatis緩存機制 147
7.1 MyBatis的緩存模式 147
7.2 一級查詢緩存 148
7.2.1 一級緩存概述 148
7.2.2 一級緩存示例 148
7.2.3 一級緩存生命週期 151
7.3 二級查詢緩存 151
7.3.1 二級緩存概述 151
7.3.2 二級緩存示例 153
7.3.3 Cache-ref共享緩存 155
7.4 MyBatis緩存原理 156
7.4.1 MyBatis緩存的工作機制 156
7.4.2 裝飾器模式 157
7.4.3 Cache接口及其實現 159
7.5 思考與練習 161
第8章 Spring MVC原理剖析 162
8.1 Spring MVC的執行流程與前端控制器 162
8.2 前端控制器DispatcherServlet 164
8.3 處理映射器和適配器 167
8.3.1 處理映射器 167
8.3.2 處理適配器 168
8.4 視圖解析器 179
8.4.1 視圖解析流程 179
8.4.2 常用視圖解析器 179
8.4.3 ViewResolver鏈 185
8.5 思考與練習 186
第9章 MyBatis原理剖析 187
9.1 MyBatis的整體框架介紹 187
9.1.1 接口層 187
9.1.2 核心處理層 190
9.1.3 基礎支撐層 191
9.2 MyBatis初始化流程 192
9.3 MyBatis的執行流程 194
9.4 思考與練習 197
第10章 用戶管理系統項目實戰 198
10.1 項目概述 198
10.2 員工表設計 198
10.3 持久化類的開發 199
10.4 DAO層和Mapper映射文件 201
10.5 接口和實現類開發 202
10.6 控制層和DTO類的開發 203
10.7 前端頁面開發 205
10.8 員工入職/離職/更新功能 207
10.9 測試 216
10.10 思考與練習 217
第11章 高並發點贊項目實戰 218
11.1 高並發點贊項目代碼實現 218
11.1.1 項目概述 218
11.1.2 數據庫表和持久化類 218
11.1.3 DAO層和Mapper映射文件 222
11.1.4 Service層和DTO類 225
11.1.5 Controller層和前端頁面 229
11.1.6 測試 230
11.2 傳統點贊功能實現 231
11.2.1 概述 231
11.2.2 代碼實現 232
11.2.3 測試 235
11.3 集成Redis緩存 236
11.3.1 概述 236
11.3.2 Redis的安裝和使用 237
11.3.3 集成Redis緩存 243
11.3.4 設計Redis數據結構 246
11.3.5 代碼實現 247
11.3.6 集成Quartz定時器 250
11.3.7 測試 254
11.4 集成ActiveMQ 254
11.4.1 概述 254
11.4.2 ActiveMQ的安裝 255
11.4.3 集成ActiveMQ 257
11.4.4 ActiveMQ異步消費 259
11.4.5 測試 262
11.5 思考與練習 262
參考文獻 264
作者介紹
黃文毅,從業7年,CSDN博客專家,曾先後就職於廈門星耀藍圖、上海美團、廈門美圖等科技公司,目前就職於廈門海西醫藥,主要從事後端開發工作。出版著作:《一步一步學Spring Boot微服務項目實戰》(清華大學出版社,2019年)、《微服務架構原理與實踐》(清華大學出版社,2019年)等。