《Spring Boot實戰:從0開始動手搭建企業級項目》是2021年7月電子工業出版社出版圖書,作者是十三。
基本介紹
- 中文名:Spring Boot實戰:從0開始動手搭建企業級項目
- 作者:十三
- 出版時間:2021年7月
- 出版社:電子工業出版社
- 頁數:728 頁
- ISBN:9787121414244
- 定價:138 元
- 開本:16 開
內容簡介,圖書目錄,作者簡介,
內容簡介
圍繞Spring Boot技術棧的“基礎實踐、源碼分析、項目開發”逐一展開,案例豐富,細節拉滿,使讀者完整體驗從0開始動手搭建企業級項目的過程
重在引導讀者進入真實的項目開發體驗棄汽雄,圍繞Spring Boot技術棧全面展開,兼顧相關技術的知識拓展
圖書目錄
第1章龍蒸踏 如何系統地學習Spring Boot 1
1.1 學習Spring Boot遇到的問題 1
1.2 學習Spring Boot的系統性建糊墓拒議 3
1.2.1 基礎實踐、源碼分析、項目開發 3
1.2.2 如何開發和統籌一個完整的項目 4
1.2.3 其他建議 6
第2章 Spring Boot:Java開發人員的選擇 7
2.1 認識Spring Boot 7
2.1.1 越來越流行的Spring Boot 7
2.1.2 Java開發人員必備的技術棧 8
2.2 選擇Spring Boot 9
2.2.1 Spring Boot的理念 9
2.2.2 Spring Boot可以簡化開發 10
2.2.3 Spring Boot的特性 11
第3章 Spring Boot基礎開發環境的安裝和配置 14
3.1 JDK的安裝和配置 14
3.1.1 下載安裝包 14
3.1.2 安裝JDK 16
3.1.3 配置環境變數 17
3.1.4 JDK環境變數驗證 18
3.2 Maven的安裝和配置 18
3.2.1 下載安裝包 18
3.2.2 安裝並配置Maven 19
3.2.3 Maven環境變數驗證 20
3.2.4 配置國內Maven鏡像恥屑民 20
3.3 開發工具IDEA的安裝和配置 22
3.3.1 下載IDEA安裝包 22
3.3.2 安裝IDEA及其功戀享疊斷能介紹 24
3.3.3 配置IDEA的Maven環境 25
第4章 Spring Boot項目搭建及快速上手 28
4.1 Spring Boot項目創建 28
4.1.1 認識Spring Initializr 28
4.1.2 Spring Boot項目初始化配置 29
4.1.3 使用Spring Initializr初始化一個Spring Boot項目 30
4.1.4 其他方式創建Spring Boot項目 32
4.2 Spring Boot項目目錄結構介紹 33
4.3 啟動Spring Boot項目 34
4.3.1 在IDEA編輯器中啟動Spring Boot項目 34
4.3.2 Maven外掛程式啟動 36
4.3.3 java-jar命令啟動 37
4.3.4 Spring Boot項目啟動日誌 38
4.4 開發第一個Spring Boot項目 39
第5章 Spring Boot核心詳解及源碼分析 42
5.1 約定優於配置 42
5.2 Spring Boot之依賴管理 43
5.3 @SpringBootApplication註解與分析 49
5.3.1 @SpringBootApplication註解 49
5.3.2 @SpringBootConfiguration註解 51
5.3.3 @EnableAutoConfiguration註解 51
5.3.4 @AutoConfigurationPackage源碼解析 52
5.3.5 EnableAutoConfigurationImportSelector類的源碼解析 54
5.3.6 @ComponentScan註解 61
5.4 SpringApplication啟動流程解析 62
第6章 Spring Boot之DispatcherServlet自動配置及源碼解讀 78
6.1 Spring MVC的核心分發器DispatcherServlet 78
6.1.1 核心分發器DispatcherServlet介紹 78
6.1.2 DispatcherServlet自動欠習騙祖配置的日誌輸出 80
6.2 DispatcherServlet自動配置的源碼潤漿調試記錄 81
6.3 自動配置類DispatcherServletAutoConfiguration 86
6.3.1 DispatcherServletAutoConfiguration類的講解 86
6.3.2 DispatcherServletAutoConfiguration在IOC容器中的註冊 91
6.4 DispatcherServlet自動配置流程 91
6.4.1 註冊至IOC容器 92
6.4.2 創建並啟動嵌入式的Tomcat對象 94
6.4.3 裝載至Servlet容器 99
第7章 Spring Boot之Web開發和Spring MVC自動配置分析 106
7.1 Spring MVC自動配置內容 106
7.2 WebMvcAutoConfiguration源碼分析 107
7.3 ViewResolver視圖解析器的自動配置 109
7.4 自動註冊Converter、Formatter 111
7.5 訊息轉換器HttpMessageConverter 113
7.6 Spring Boot對靜態資源的映射規則 116
7.7 welcomePage和favicon配置 120
7.7.1 welcomePage配置 120
7.7.2 favicon配置 122
第8章 Thymeleaf模板引擎使用詳解 126
8.1 模板引擎技術介紹 126
8.2 Thymeleaf模板引擎 127
8.2.1 Thymeleaf模板引擎介紹 127
8.2.2 Thymeleaf並非Spring Boot默認的模板引擎 128
8.3 Spring Boot之Thymeleaf 整合 129
8.3.1 引入Thymeleaf依賴 130
8.3.2 創建模板檔案 132
9.3.3 編輯Controller代碼 132
8.3.4 Thymeleaf模板引擎使用注意事項 134
8.4 Thymeleaf屬性值講解 135
8.4.1 Thymeleaf模板解讀 135
8.4.2 Thymeleaf屬性值的設定 136
8.4.3 修改屬性值實踐 137
8.5 Thymeleaf語法講解 139
8.5.1 Thymeleaf語法 139
8.5.2 Thymeleaf簡單語法實踐 141
8.5.3 Thymeleaf表達式 143
第9章 Spring Boot操作MySQL資料庫 151
9.1 Spring Boot連線MySQL實踐 151
9.1.1 Spring Boot對資料庫連線的支持 151
9.1.2 Spring Boot整合spring-boot-starter-jdbc 152
9.1.3 Spring Boot連線MySQL資料庫驗證 155
9.2 Spring Boot數據源自動配置源碼詳解 157
9.2.1 Spring Boot默認數據源HikariDataSource 157
9.2.2 數據源自動配置類DataSourceAutoConfiguration 158
9.2.3 屬性綁定 160
9.2.4 DataSourceConfiguration源碼解析 160
9.3 使用JdbcTemplate進行資料庫的增、刪、改、查 164
9.3.1 JdbcTemplate介紹 165
9.3.2 詳解JdbcTemplate對資料庫的增、刪、改、查 165
9.4 Spring Boot項目中MyBatis相關組件的自動配置講解 170
9.4.1 MyBatis簡介 170
9.4.2 mybatis-springboot-starter介紹 171
9.4.3 MyBatis自動配置詳解 171
9.5 Spring Boot整合MyBatis的過程 179
9.5.1 添加依賴 179
9.5.2 application.properties的配置 182
9.5.3 啟動類增加Mapper掃描 182
9.6 Spring Boot整合MyBatis進行資料庫的增、刪、改、查 183
9.6.1 新建實體類和Mapper接口 183
9.6.2 創建Mapper接口的映射檔案 185
9.6.3 新建MyBatisController 187
第10章 分頁功能的講解和編碼實現 192
10.1 分頁功能介紹 192
10.1.1 百度分頁功能演示 192
10.1.2 GitHub分頁功能演示 194
10.1.3 商城後台管理系統分頁功能演示 195
10.1.4 商品搜尋頁分頁功能演示 196
10.2 分頁功能的作用 197
10.3 分頁功能的設計 198
10.3.1 前端分頁功能設計 198
10.3.2 後端分頁功能設計 199
10.4 分頁功能的編碼實現 199
10.4.1 新增分頁測試數據 200
10.4.2 分頁功能返回結果的封裝 202
10.4.3 分頁功能代碼的具體實現 207
10.4.4 分頁功能測試 210
10.5 jqGrid分頁外掛程式 212
10.5.1 jqGrid分頁外掛程式介紹 212
10.5.3 導入jqGrid分頁外掛程式資源到項目中 214
10.5.3 使用jqGrid實現分頁的步驟 214
10.5.4 分頁數據格式詳解 217
10.6 整合jqGrid實現分頁功能 218
10.6.1 前端頁面製作 218
10.6.2 jqGrid初始化 219
10.6.3 整合jqGrid實現分頁功能測試 221
第11章 Spring Boot檔案上傳功能的實現 223
11.1 Spring MVC處理檔案上傳的源碼分析 223
11.1.1 檔案上傳功能源碼調用鏈 223
11.1.2 檔案上傳功能源碼分析 224
11.1.3 Spring Boot中MultipartResolver的自動配置 227
11.2 Spring Boot檔案上傳功能的實現案例 229
11.2.1 Spring Boot檔案上傳配置項 229
11.2.2 新建檔案上傳頁面 230
11.2.3 新建檔案上傳處理Controller類 231
11.2.5 檔案上傳功能測試 232
11.3 Spring Boot檔案上傳路徑回顯 234
11.4 Spring Boot多檔案上傳功能的實現 236
11.4.1 檔案名稱相同時的多檔案上傳處理 236
11.4.2 檔案名稱不同時的多檔案上傳處理 239
第12章 Spring Boot實現驗證碼生成及驗證功能 245
12.1 驗證碼介紹 245
12.1.1 什麼是驗證碼 245
12.1.2 驗證碼的形式 246
12.2 Spring Boot整合easy-captcha生成驗證碼 248
12.2.1 添加easy-captcha依賴 249
12.2.2 驗證碼格式 251
12.2.3 驗證碼字元類型 251
12.2.4 字型設定 252
12.2.5 驗證碼圖片輸出 253
12.3 生成並顯示驗證碼 254
12.3.1 後端邏輯實現:生成並輸出驗證碼 254
12.3.2 前端邏輯實現:在頁面中展示驗證碼 255
12.4 驗證碼的輸入驗證 256
12.4.1 後端邏輯實現 256
12.4.2 前端邏輯實現 257
第13章 商城項目需求分析與功能設計 260
13.1 選擇開發商城系統的原因 260
13.1.1 什麼是商城系統 260
13.1.2 為什麼要做商城系統 261
13.2 認識新蜂商城系統 262
13.2.1 新蜂商城系統介紹 262
13.2.2 新蜂商城開發背景 263
13.2.3 新蜂商城開源過程 264
13.2.4 新蜂商城運行預覽圖 266
13.3 新蜂商城功能詳解 272
13.3.1 商城端功能整理 272
13.3.2 後台管理系統功能整理 273
13.3.3 新蜂商城架構圖 274
第14章 項目初體驗:啟動和使用新蜂商城 275
14.1 下載商城項目的源碼 275
14.1.1 使用clone命令下載源碼 275
14.1.2 通過開源網站下載源碼 276
14.2 新蜂商城目錄結構講解 279
14.3 啟動商城項目 281
14.3.1 導入資料庫 281
14.3.2 修改資料庫連線配置 281
14.3.3 靜態資源目錄設定 282
14.3.4 啟動並訪問商城項目 283
14.4 注意事項 285
14.4.1 關於項目地址 285
14.4.2 關於賬號及密碼 286
14.4.3 商城登錄和後台管理系統登錄演示 287
第15章 頁面設計及商城後台管理系統頁面布局的實現 289
15.1 前端頁面實現的技術選型 289
15.1.1 Bootstrap產品介紹 289
15.1.2 為什麼選擇Bootstrap 290
15.1.3 AdminLTE3產品介紹 291
15.1.4 為什麼選擇AdminLTE3 293
15.1.5 前端技術選型的5個原則 294
15.2 商城頁面布局講解 294
15.2.1 後台管理系統頁面布局介紹 294
15.2.2 商城端頁面布局介紹 296
15.3 後台管理系統頁面製作 297
15.3.1 AdminLTE3整合到Spring Boot項目中 297
15.3.2 後台管理系統頁面製作 298
15.3.3 Controller類處理頁面跳轉 302
15.3.4 公共頁面抽取 303
15.3.5 分段表達式傳參 310
第16章 後台管理系統登錄功能的實現 313
16.1 登錄流程設計 313
16.1.1 什麼是登錄 313
16.1.2 用戶登錄狀態 314
16.1.3 登錄流程設計 315
16.2 管理員登錄功能實踐 316
16.2.1 管理員登錄頁面的實現 316
16.2.2 管理員表結構設計 319
16.2.3 新建管理員實體類和Mapper接口 321
16.2.4 創建AdminUserMapper接口的映射檔案 323
16.2.5 業務層代碼的實現 324
16.2.6 管理員登錄控制層代碼的實現 325
16.2.7 管理員登錄功能演示及注意事項 326
16.3 後台管理系統登錄攔截器的實現 328
16.3.1 登錄攔截器 328
16.3.2 定義攔截器 329
16.3.3 配置攔截器 331
16.4 管理員模組功能的完善 333
第17章 輪播圖管理模組的開發 343
17.1 輪播圖模組介紹 343
17.2 輪播圖管理頁面跳轉邏輯的實現 345
17.2.1 導航欄中增加“輪播圖配置”欄目 345
17.2.2 控制類處理跳轉邏輯 345
17.2.3 輪播圖管理頁面基礎樣式的實現 346
17.3 輪播圖管理模組後端功能的實現 348
17.3.1 輪播圖表結構設計 348
17.3.2 輪播圖管理模組接口介紹 349
17.3.3 新建輪播圖實體類和Mapper接口 350
17.3.4 創建CarouselMapper接口的映射檔案 354
17.3.5 業務層的代碼實現 360
17.3.6 輪播圖管理模組控制層的代碼實現 363
17.4 輪播圖管理模組前端功能的實現 366
17.4.1 功能按鈕和分頁信息展示區域 366
17.4.2 輪播圖管理頁面分頁功能的實現 367
17.4.3 添加和修改按鈕觸發事件及Modal框的實現 368
17.4.4 輪播圖管理頁面添加和編輯功能的實現 371
17.4.5 輪播圖管理頁面刪除功能的實現 373
17.4.6 功能測試 375
第18章 分類管理模組的開發 379
18.1 分類管理模組介紹 379
18.1.1 商品分類 379
18.1.2 分類層級 380
18.1.3 分類模組的主要功能 381
18.2 商品類目管理模組前端頁面的製作 381
18.2.1 在導航欄中增加“分類管理”欄目 381
18.2.2 控制類處理跳轉邏輯 382
18.2.3 分類管理頁面基礎樣式的實現 383
18.2.4 功能按鈕和分頁信息展示區域 386
18.2.5 URL參數處理 387
18.3 商品分類表的結構設計 388
18.4 分類模組後端功能的實現 389
18.4.1 新建分類實體類和Mapper接口 390
18.4.2 創建GoodsCategoryMapper接口的映射檔案 395
18.4.3 業務層代碼的實現 401
18.4.4 分類管理模組控制層的代碼實現 405
18.5 商品類目管理模組前端功能的實現 410
18.5.1 分類管理頁面分頁功能的實現 410
18.5.2 上下級分類頁面的跳轉邏輯處理 412
18.5.3 分類管理頁面添加和修改按鈕的觸發事件 413
18.5.4 分類管理頁面添加和編輯功能的實現 414
18.5.5 分類管理頁面刪除功能的實現 416
18.5.6 功能測試 417
18.6 分類數據的三級聯動功能開發 421
18.6.1 多層級數據聯動效果的常見場景 421
18.6.2 多層級的數據聯動實現原理和方式 423
18.6.3 分類三級聯動頁面基礎樣式的實現 423
18.6.4 數據初始化 426
18.6.5 數據聯動後端接口的實現 429
18.6.6 監聽選擇框的change事件並實現聯動功能 431
第19章 富文本編輯器介紹及整合 435
19.1 富文本編輯器詳解 435
19.1.1 如何處理複雜的文本內容 435
19.1.2 富文本編輯器介紹及其優勢 437
19.2 富文本編輯器wangEditor的介紹 438
19.3 wangEditor整合編碼案例 441
19.4 新蜂商城項目wangEditor的套用情況 444
19.4.1 為什麼選擇wangEditor 444
19.4.2 wangEditor整合過程中的問題 445
第20章 商品編輯頁面及商品管理模組的開發 448
20.1 新蜂商城商品管理模組簡介 448
20.2 新蜂商城商品信息表結構的設計 449
20.3 商品編輯頁面的製作 451
20.3.1 導航欄中增加“商品信息”欄目 451
20.3.2 控制類處理跳轉邏輯 452
20.3.3 商品信息編輯頁面的製作 453
20.3.4 初始化外掛程式 458
20.3.5 新增控制類處理圖片上傳 462
20.4 商品信息添加接口的開發與聯調 467
20.4.1 新建商品實體類和Mapper接口 467
20.4.2 創建NewBeeMallGoodsMapper接口的映射檔案 472
20.4.3 業務層的代碼實現 476
20.4.4 商品添加接口控制層的代碼實現 477
20.4.5 前端調用商品添加接口 478
20.4.6 功能測試 482
20.5 商品信息編輯頁面的完善 483
20.5.1 控制類處理跳轉的邏輯 484
20.5.2 商品信息編輯頁面數據的回顯 486
20.6 商品信息修改的開發與聯調 489
20.6.1 數據層代碼的實現 490
20.6.2 業務層代碼的實現 492
20.6.3 商品添加接口控制層代碼的實現 493
20.6.4 前端調用商品修改接口 494
20.7 商品信息管理頁面的製作 496
20.7.1 導航欄中增加“商品管理”按鈕 496
20.7.2 控制類處理跳轉邏輯 497
20.7.3 商品管理頁面基礎樣式的實現 497
20.8 商品信息管理模組接口的實現 499
20.8.1 數據層代碼的實現 500
20.8.2 業務層代碼的實現 501
20.8.3 控制層代碼的實現 502
20.9 商品管理模組前端功能的實現 503
20.9.1 商品管理頁面功能按鈕的設定 503
20.9.2 商品管理頁面分頁功能的實現 504
20.9.3 商品添加和修改按鈕的觸發事件 506
20.9.4 商品上架和下架功能的實現 506
20.9.5 功能測試 509
第21章 新蜂商城首頁功能的開發 514
21.1 新蜂商城首頁靜態頁面的製作 514
21.1.1 商城首頁的設計注意事項 514
21.1.2 新蜂商城首頁的排版設計 515
21.1.3 新蜂商城首頁基礎樣式的實現 517
21.2 新蜂商城首頁功能的實現 523
21.2.1 首頁跳轉邏輯的實現 523
21.2.2 Controller處理跳轉 523
21.2.3 公共頁面的抽取 525
21.3 商城端首頁輪播圖功能的實現 528
21.3.1 Swiper輪播圖外掛程式的介紹 528
21.3.2 輪播圖外掛程式Swiper的整合 529
21.3.3 輪播圖數據的讀取 530
21.3.4 輪播圖數據的渲染 531
21.3.5 輪播效果的實現 532
21.4 首頁分類效果的製作 532
21.4.1 首頁商品分類數據的讀取 533
21.4.2 首頁商品分類數據的渲染 535
21.4.3 首頁商品分類聯動效果的實現 536
21.5 商城首頁推薦商品模組的介紹 538
21.6 首頁配置管理頁面的製作 539
21.6.1 導航欄中增加首頁配置相關欄目 539
21.6.2 控制類處理跳轉邏輯 540
21.6.3 首頁配置商品管理頁面基礎樣式的實現 541
21.7 首頁配置管理模組接口的設計及實現 543
21.7.1 首頁配置表結構的設計 543
21.7.2 新建首頁配置實體類和Mapper接口 544
21.7.3 創建IndexConfigMapper接口的映射檔案 549
21.7.4 業務層代碼的實現 555
21.7.5 首頁管理模組控制層代碼的實現 559
21.8 首頁配置管理模組前端功能的實現 563
21.8.1 功能按鈕和分頁信息展示區域 563
21.8.2 首頁配置管理頁面分頁功能的實現 563
21.8.3 添加和修改按鈕觸發事件及Modal框實現 565
21.8.4 首頁配置管理頁面添加和編輯功能的實現 568
21.8.5 首頁配置管理頁面刪除功能的實現 570
21.9 商城首頁功能完善 571
21.9.1 首頁推薦商品數據的讀取 571
21.9.2 首頁推薦商品數據的渲染 573
第22章 商城端用戶登錄和註冊功能的開發 575
22.1 商城端用戶表結構的設計 575
22.2 商城端用戶登錄和註冊頁面的製作 577
22.2.1 商城端登錄頁面基礎樣式的實現 577
22.2.2 商城端註冊頁面基礎樣式的實現 579
22.2.3 控制類處理跳轉邏輯 580
22.3 商城端用戶登錄和註冊模組接口的實現 580
22.3.1 新建商城端用戶實體類和Mapper接口 580
22.3.2 創建MallUserMapper接口的映射檔案 584
22.3.3 業務層代碼的實現 587
22.3.4 商城端用戶登錄和註冊控制層代碼的實現 590
22.4 商城端用戶登錄註冊模組前端功能的實現 593
22.4.1 註冊功能的實現 593
22.4.2 登錄功能的實現 595
22.5 商城端用戶登錄攔截器的實現 596
22.5.1 定義攔截器 597
22.5.2 配置攔截器 598
22.6 功能測試 600
第23章 商城端搜尋商品功能的開發 602
23.1 搜尋頁面的設計和數據格式的定義 602
23.1.1 搜尋頁面的設計 602
23.1.2 數據格式的定義 603
23.2 發起搜尋請求 605
23.2.1 商品的關鍵字搜尋 605
23.2.2 商品的分類搜尋功能 607
23.3 商品數據查詢的實現代碼 608
23.3.1 數據層代碼的實現 609
23.3.2 業務層代碼的實現 611
23.4 商品搜尋結果頁面數據的渲染 612
23.4.1 參數封裝及分頁數據的獲取 612
23.4.2 搜尋結果頁面渲染的邏輯實現 614
第24章 商品詳情頁及購物車功能的開發 619
24.1 商城端商品詳情頁面的製作 619
24.1.1 商品詳情頁跳轉邏輯的實現 619
24.1.2 商品詳情頁面數據的渲染 620
24.2 購物車模組簡介及表結構設計 624
24.2.1 購物車模組簡介 624
24.2.2 購物車表結構設計 624
24.3 將商品加入購物車功能的實現 625
24.3.1 新建購物項實體類和Mapper接口 625
24.3.2 創建NewBeeMallShoppingCartItemMapper接口的映射檔案 628
24.3.3 業務層代碼的實現 631
24.3.4 將商品加入購物車接口的實現 633
24.3.5 前端功能的實現 635
24.4 購物車列表功能的實現 636
24.4.1 數據格式的定義 636
24.4.2 購物車列表數據的獲取 638
24.4.3 購物車列表數據的渲染 641
24.5 編輯購物項功能的實現 645
24.5.1 數據層代碼的實現 645
24.5.2 業務層代碼的實現 646
24.5.3 控制層代碼的實現 648
24.5.4 前端調用修改和刪除購物項的接口 650
24.6 功能測試 652
第25章 訂單模組功能開發及講解 656
25.1 訂單確認頁面的功能開發 657
25.1.1 商城中的訂單確認步驟 657
25.1.2 訂單確認的前置步驟 658
25.1.3 訂單確認頁面的數據整合 659
25.1.4 訂單確認頁面製作及數據渲染 660
25.2 訂單模組中的表結構設計 667
25.2.1 訂單主表和訂單項關聯表設計 667
25.2.2 訂單項表的設計思路 670
25.3 訂單生成功能的實現 670
25.3.1 新蜂商城訂單生成的流程 670
25.3.2 發起訂單生成請求 671
25.3.3 訂單生成請求處理 672
25.3.4 訂單生成邏輯的實現 674
25.4 訂單詳情頁面功能的實現 677
25.4.1 訂單詳情跳轉處理 677
25.4.2 訂單詳情數據的渲染 678
25.5 商城端訂單列表功能 685
25.5.1 訂單列表數據格式的定義 685
25.5.2 訂單列表頁面數據的獲取 690
25.5.3 訂單列表頁面渲染的邏輯 692
25.6 訂單處理流程及訂單狀態的介紹 697
25.6.1 訂單處理流程 697
25.6.2 訂單狀態的介紹 698
25.7 訂單狀態轉換的講解 700
25.7.1 訂單支付 700
25.7.2 訂單確認 703
25.7.3 訂單出庫 704
25.7.4 確認收貨 705
25.7.5 取消訂單 705
25.8 商城系統的展望 707
作者簡介
韓帥(十三)
企業技術主管、掘金優秀作者、CSDN部落格專家、專欄作者、視頻講師。
GitHub開源項目newbee-mall系列的主理人,多年一線開發經驗,歷任高級開發工程師、後端主程、技術部門主管等職位。熟練使用Java、SQL、Spring Boot、Vue等計算機語言和開發框架,有非常豐富的開發經驗,同時也是開源項目的愛好者和貢獻者。
4.2 Spring Boot項目目錄結構介紹 33
4.3 啟動Spring Boot項目 34
4.3.1 在IDEA編輯器中啟動Spring Boot項目 34
4.3.2 Maven外掛程式啟動 36
4.3.3 java-jar命令啟動 37
4.3.4 Spring Boot項目啟動日誌 38
4.4 開發第一個Spring Boot項目 39
第5章 Spring Boot核心詳解及源碼分析 42
5.1 約定優於配置 42
5.2 Spring Boot之依賴管理 43
5.3 @SpringBootApplication註解與分析 49
5.3.1 @SpringBootApplication註解 49
5.3.2 @SpringBootConfiguration註解 51
5.3.3 @EnableAutoConfiguration註解 51
5.3.4 @AutoConfigurationPackage源碼解析 52
5.3.5 EnableAutoConfigurationImportSelector類的源碼解析 54
5.3.6 @ComponentScan註解 61
5.4 SpringApplication啟動流程解析 62
第6章 Spring Boot之DispatcherServlet自動配置及源碼解讀 78
6.1 Spring MVC的核心分發器DispatcherServlet 78
6.1.1 核心分發器DispatcherServlet介紹 78
6.1.2 DispatcherServlet自動配置的日誌輸出 80
6.2 DispatcherServlet自動配置的源碼調試記錄 81
6.3 自動配置類DispatcherServletAutoConfiguration 86
6.3.1 DispatcherServletAutoConfiguration類的講解 86
6.3.2 DispatcherServletAutoConfiguration在IOC容器中的註冊 91
6.4 DispatcherServlet自動配置流程 91
6.4.1 註冊至IOC容器 92
6.4.2 創建並啟動嵌入式的Tomcat對象 94
6.4.3 裝載至Servlet容器 99
第7章 Spring Boot之Web開發和Spring MVC自動配置分析 106
7.1 Spring MVC自動配置內容 106
7.2 WebMvcAutoConfiguration源碼分析 107
7.3 ViewResolver視圖解析器的自動配置 109
7.4 自動註冊Converter、Formatter 111
7.5 訊息轉換器HttpMessageConverter 113
7.6 Spring Boot對靜態資源的映射規則 116
7.7 welcomePage和favicon配置 120
7.7.1 welcomePage配置 120
7.7.2 favicon配置 122
第8章 Thymeleaf模板引擎使用詳解 126
8.1 模板引擎技術介紹 126
8.2 Thymeleaf模板引擎 127
8.2.1 Thymeleaf模板引擎介紹 127
8.2.2 Thymeleaf並非Spring Boot默認的模板引擎 128
8.3 Spring Boot之Thymeleaf 整合 129
8.3.1 引入Thymeleaf依賴 130
8.3.2 創建模板檔案 132
9.3.3 編輯Controller代碼 132
8.3.4 Thymeleaf模板引擎使用注意事項 134
8.4 Thymeleaf屬性值講解 135
8.4.1 Thymeleaf模板解讀 135
8.4.2 Thymeleaf屬性值的設定 136
8.4.3 修改屬性值實踐 137
8.5 Thymeleaf語法講解 139
8.5.1 Thymeleaf語法 139
8.5.2 Thymeleaf簡單語法實踐 141
8.5.3 Thymeleaf表達式 143
第9章 Spring Boot操作MySQL資料庫 151
9.1 Spring Boot連線MySQL實踐 151
9.1.1 Spring Boot對資料庫連線的支持 151
9.1.2 Spring Boot整合spring-boot-starter-jdbc 152
9.1.3 Spring Boot連線MySQL資料庫驗證 155
9.2 Spring Boot數據源自動配置源碼詳解 157
9.2.1 Spring Boot默認數據源HikariDataSource 157
9.2.2 數據源自動配置類DataSourceAutoConfiguration 158
9.2.3 屬性綁定 160
9.2.4 DataSourceConfiguration源碼解析 160
9.3 使用JdbcTemplate進行資料庫的增、刪、改、查 164
9.3.1 JdbcTemplate介紹 165
9.3.2 詳解JdbcTemplate對資料庫的增、刪、改、查 165
9.4 Spring Boot項目中MyBatis相關組件的自動配置講解 170
9.4.1 MyBatis簡介 170
9.4.2 mybatis-springboot-starter介紹 171
9.4.3 MyBatis自動配置詳解 171
9.5 Spring Boot整合MyBatis的過程 179
9.5.1 添加依賴 179
9.5.2 application.properties的配置 182
9.5.3 啟動類增加Mapper掃描 182
9.6 Spring Boot整合MyBatis進行資料庫的增、刪、改、查 183
9.6.1 新建實體類和Mapper接口 183
9.6.2 創建Mapper接口的映射檔案 185
9.6.3 新建MyBatisController 187
第10章 分頁功能的講解和編碼實現 192
10.1 分頁功能介紹 192
10.1.1 百度分頁功能演示 192
10.1.2 GitHub分頁功能演示 194
10.1.3 商城後台管理系統分頁功能演示 195
10.1.4 商品搜尋頁分頁功能演示 196
10.2 分頁功能的作用 197
10.3 分頁功能的設計 198
10.3.1 前端分頁功能設計 198
10.3.2 後端分頁功能設計 199
10.4 分頁功能的編碼實現 199
10.4.1 新增分頁測試數據 200
10.4.2 分頁功能返回結果的封裝 202
10.4.3 分頁功能代碼的具體實現 207
10.4.4 分頁功能測試 210
10.5 jqGrid分頁外掛程式 212
10.5.1 jqGrid分頁外掛程式介紹 212
10.5.3 導入jqGrid分頁外掛程式資源到項目中 214
10.5.3 使用jqGrid實現分頁的步驟 214
10.5.4 分頁數據格式詳解 217
10.6 整合jqGrid實現分頁功能 218
10.6.1 前端頁面製作 218
10.6.2 jqGrid初始化 219
10.6.3 整合jqGrid實現分頁功能測試 221
第11章 Spring Boot檔案上傳功能的實現 223
11.1 Spring MVC處理檔案上傳的源碼分析 223
11.1.1 檔案上傳功能源碼調用鏈 223
11.1.2 檔案上傳功能源碼分析 224
11.1.3 Spring Boot中MultipartResolver的自動配置 227
11.2 Spring Boot檔案上傳功能的實現案例 229
11.2.1 Spring Boot檔案上傳配置項 229
11.2.2 新建檔案上傳頁面 230
11.2.3 新建檔案上傳處理Controller類 231
11.2.5 檔案上傳功能測試 232
11.3 Spring Boot檔案上傳路徑回顯 234
11.4 Spring Boot多檔案上傳功能的實現 236
11.4.1 檔案名稱相同時的多檔案上傳處理 236
11.4.2 檔案名稱不同時的多檔案上傳處理 239
第12章 Spring Boot實現驗證碼生成及驗證功能 245
12.1 驗證碼介紹 245
12.1.1 什麼是驗證碼 245
12.1.2 驗證碼的形式 246
12.2 Spring Boot整合easy-captcha生成驗證碼 248
12.2.1 添加easy-captcha依賴 249
12.2.2 驗證碼格式 251
12.2.3 驗證碼字元類型 251
12.2.4 字型設定 252
12.2.5 驗證碼圖片輸出 253
12.3 生成並顯示驗證碼 254
12.3.1 後端邏輯實現:生成並輸出驗證碼 254
12.3.2 前端邏輯實現:在頁面中展示驗證碼 255
12.4 驗證碼的輸入驗證 256
12.4.1 後端邏輯實現 256
12.4.2 前端邏輯實現 257
第13章 商城項目需求分析與功能設計 260
13.1 選擇開發商城系統的原因 260
13.1.1 什麼是商城系統 260
13.1.2 為什麼要做商城系統 261
13.2 認識新蜂商城系統 262
13.2.1 新蜂商城系統介紹 262
13.2.2 新蜂商城開發背景 263
13.2.3 新蜂商城開源過程 264
13.2.4 新蜂商城運行預覽圖 266
13.3 新蜂商城功能詳解 272
13.3.1 商城端功能整理 272
13.3.2 後台管理系統功能整理 273
13.3.3 新蜂商城架構圖 274
第14章 項目初體驗:啟動和使用新蜂商城 275
14.1 下載商城項目的源碼 275
14.1.1 使用clone命令下載源碼 275
14.1.2 通過開源網站下載源碼 276
14.2 新蜂商城目錄結構講解 279
14.3 啟動商城項目 281
14.3.1 導入資料庫 281
14.3.2 修改資料庫連線配置 281
14.3.3 靜態資源目錄設定 282
14.3.4 啟動並訪問商城項目 283
14.4 注意事項 285
14.4.1 關於項目地址 285
14.4.2 關於賬號及密碼 286
14.4.3 商城登錄和後台管理系統登錄演示 287
第15章 頁面設計及商城後台管理系統頁面布局的實現 289
15.1 前端頁面實現的技術選型 289
15.1.1 Bootstrap產品介紹 289
15.1.2 為什麼選擇Bootstrap 290
15.1.3 AdminLTE3產品介紹 291
15.1.4 為什麼選擇AdminLTE3 293
15.1.5 前端技術選型的5個原則 294
15.2 商城頁面布局講解 294
15.2.1 後台管理系統頁面布局介紹 294
15.2.2 商城端頁面布局介紹 296
15.3 後台管理系統頁面製作 297
15.3.1 AdminLTE3整合到Spring Boot項目中 297
15.3.2 後台管理系統頁面製作 298
15.3.3 Controller類處理頁面跳轉 302
15.3.4 公共頁面抽取 303
15.3.5 分段表達式傳參 310
第16章 後台管理系統登錄功能的實現 313
16.1 登錄流程設計 313
16.1.1 什麼是登錄 313
16.1.2 用戶登錄狀態 314
16.1.3 登錄流程設計 315
16.2 管理員登錄功能實踐 316
16.2.1 管理員登錄頁面的實現 316
16.2.2 管理員表結構設計 319
16.2.3 新建管理員實體類和Mapper接口 321
16.2.4 創建AdminUserMapper接口的映射檔案 323
16.2.5 業務層代碼的實現 324
16.2.6 管理員登錄控制層代碼的實現 325
16.2.7 管理員登錄功能演示及注意事項 326
16.3 後台管理系統登錄攔截器的實現 328
16.3.1 登錄攔截器 328
16.3.2 定義攔截器 329
16.3.3 配置攔截器 331
16.4 管理員模組功能的完善 333
第17章 輪播圖管理模組的開發 343
17.1 輪播圖模組介紹 343
17.2 輪播圖管理頁面跳轉邏輯的實現 345
17.2.1 導航欄中增加“輪播圖配置”欄目 345
17.2.2 控制類處理跳轉邏輯 345
17.2.3 輪播圖管理頁面基礎樣式的實現 346
17.3 輪播圖管理模組後端功能的實現 348
17.3.1 輪播圖表結構設計 348
17.3.2 輪播圖管理模組接口介紹 349
17.3.3 新建輪播圖實體類和Mapper接口 350
17.3.4 創建CarouselMapper接口的映射檔案 354
17.3.5 業務層的代碼實現 360
17.3.6 輪播圖管理模組控制層的代碼實現 363
17.4 輪播圖管理模組前端功能的實現 366
17.4.1 功能按鈕和分頁信息展示區域 366
17.4.2 輪播圖管理頁面分頁功能的實現 367
17.4.3 添加和修改按鈕觸發事件及Modal框的實現 368
17.4.4 輪播圖管理頁面添加和編輯功能的實現 371
17.4.5 輪播圖管理頁面刪除功能的實現 373
17.4.6 功能測試 375
第18章 分類管理模組的開發 379
18.1 分類管理模組介紹 379
18.1.1 商品分類 379
18.1.2 分類層級 380
18.1.3 分類模組的主要功能 381
18.2 商品類目管理模組前端頁面的製作 381
18.2.1 在導航欄中增加“分類管理”欄目 381
18.2.2 控制類處理跳轉邏輯 382
18.2.3 分類管理頁面基礎樣式的實現 383
18.2.4 功能按鈕和分頁信息展示區域 386
18.2.5 URL參數處理 387
18.3 商品分類表的結構設計 388
18.4 分類模組後端功能的實現 389
18.4.1 新建分類實體類和Mapper接口 390
18.4.2 創建GoodsCategoryMapper接口的映射檔案 395
18.4.3 業務層代碼的實現 401
18.4.4 分類管理模組控制層的代碼實現 405
18.5 商品類目管理模組前端功能的實現 410
18.5.1 分類管理頁面分頁功能的實現 410
18.5.2 上下級分類頁面的跳轉邏輯處理 412
18.5.3 分類管理頁面添加和修改按鈕的觸發事件 413
18.5.4 分類管理頁面添加和編輯功能的實現 414
18.5.5 分類管理頁面刪除功能的實現 416
18.5.6 功能測試 417
18.6 分類數據的三級聯動功能開發 421
18.6.1 多層級數據聯動效果的常見場景 421
18.6.2 多層級的數據聯動實現原理和方式 423
18.6.3 分類三級聯動頁面基礎樣式的實現 423
18.6.4 數據初始化 426
18.6.5 數據聯動後端接口的實現 429
18.6.6 監聽選擇框的change事件並實現聯動功能 431
第19章 富文本編輯器介紹及整合 435
19.1 富文本編輯器詳解 435
19.1.1 如何處理複雜的文本內容 435
19.1.2 富文本編輯器介紹及其優勢 437
19.2 富文本編輯器wangEditor的介紹 438
19.3 wangEditor整合編碼案例 441
19.4 新蜂商城項目wangEditor的套用情況 444
19.4.1 為什麼選擇wangEditor 444
19.4.2 wangEditor整合過程中的問題 445
第20章 商品編輯頁面及商品管理模組的開發 448
20.1 新蜂商城商品管理模組簡介 448
20.2 新蜂商城商品信息表結構的設計 449
20.3 商品編輯頁面的製作 451
20.3.1 導航欄中增加“商品信息”欄目 451
20.3.2 控制類處理跳轉邏輯 452
20.3.3 商品信息編輯頁面的製作 453
20.3.4 初始化外掛程式 458
20.3.5 新增控制類處理圖片上傳 462
20.4 商品信息添加接口的開發與聯調 467
20.4.1 新建商品實體類和Mapper接口 467
20.4.2 創建NewBeeMallGoodsMapper接口的映射檔案 472
20.4.3 業務層的代碼實現 476
20.4.4 商品添加接口控制層的代碼實現 477
20.4.5 前端調用商品添加接口 478
20.4.6 功能測試 482
20.5 商品信息編輯頁面的完善 483
20.5.1 控制類處理跳轉的邏輯 484
20.5.2 商品信息編輯頁面數據的回顯 486
20.6 商品信息修改的開發與聯調 489
20.6.1 數據層代碼的實現 490
20.6.2 業務層代碼的實現 492
20.6.3 商品添加接口控制層代碼的實現 493
20.6.4 前端調用商品修改接口 494
20.7 商品信息管理頁面的製作 496
20.7.1 導航欄中增加“商品管理”按鈕 496
20.7.2 控制類處理跳轉邏輯 497
20.7.3 商品管理頁面基礎樣式的實現 497
20.8 商品信息管理模組接口的實現 499
20.8.1 數據層代碼的實現 500
20.8.2 業務層代碼的實現 501
20.8.3 控制層代碼的實現 502
20.9 商品管理模組前端功能的實現 503
20.9.1 商品管理頁面功能按鈕的設定 503
20.9.2 商品管理頁面分頁功能的實現 504
20.9.3 商品添加和修改按鈕的觸發事件 506
20.9.4 商品上架和下架功能的實現 506
20.9.5 功能測試 509
第21章 新蜂商城首頁功能的開發 514
21.1 新蜂商城首頁靜態頁面的製作 514
21.1.1 商城首頁的設計注意事項 514
21.1.2 新蜂商城首頁的排版設計 515
21.1.3 新蜂商城首頁基礎樣式的實現 517
21.2 新蜂商城首頁功能的實現 523
21.2.1 首頁跳轉邏輯的實現 523
21.2.2 Controller處理跳轉 523
21.2.3 公共頁面的抽取 525
21.3 商城端首頁輪播圖功能的實現 528
21.3.1 Swiper輪播圖外掛程式的介紹 528
21.3.2 輪播圖外掛程式Swiper的整合 529
21.3.3 輪播圖數據的讀取 530
21.3.4 輪播圖數據的渲染 531
21.3.5 輪播效果的實現 532
21.4 首頁分類效果的製作 532
21.4.1 首頁商品分類數據的讀取 533
21.4.2 首頁商品分類數據的渲染 535
21.4.3 首頁商品分類聯動效果的實現 536
21.5 商城首頁推薦商品模組的介紹 538
21.6 首頁配置管理頁面的製作 539
21.6.1 導航欄中增加首頁配置相關欄目 539
21.6.2 控制類處理跳轉邏輯 540
21.6.3 首頁配置商品管理頁面基礎樣式的實現 541
21.7 首頁配置管理模組接口的設計及實現 543
21.7.1 首頁配置表結構的設計 543
21.7.2 新建首頁配置實體類和Mapper接口 544
21.7.3 創建IndexConfigMapper接口的映射檔案 549
21.7.4 業務層代碼的實現 555
21.7.5 首頁管理模組控制層代碼的實現 559
21.8 首頁配置管理模組前端功能的實現 563
21.8.1 功能按鈕和分頁信息展示區域 563
21.8.2 首頁配置管理頁面分頁功能的實現 563
21.8.3 添加和修改按鈕觸發事件及Modal框實現 565
21.8.4 首頁配置管理頁面添加和編輯功能的實現 568
21.8.5 首頁配置管理頁面刪除功能的實現 570
21.9 商城首頁功能完善 571
21.9.1 首頁推薦商品數據的讀取 571
21.9.2 首頁推薦商品數據的渲染 573
第22章 商城端用戶登錄和註冊功能的開發 575
22.1 商城端用戶表結構的設計 575
22.2 商城端用戶登錄和註冊頁面的製作 577
22.2.1 商城端登錄頁面基礎樣式的實現 577
22.2.2 商城端註冊頁面基礎樣式的實現 579
22.2.3 控制類處理跳轉邏輯 580
22.3 商城端用戶登錄和註冊模組接口的實現 580
22.3.1 新建商城端用戶實體類和Mapper接口 580
22.3.2 創建MallUserMapper接口的映射檔案 584
22.3.3 業務層代碼的實現 587
22.3.4 商城端用戶登錄和註冊控制層代碼的實現 590
22.4 商城端用戶登錄註冊模組前端功能的實現 593
22.4.1 註冊功能的實現 593
22.4.2 登錄功能的實現 595
22.5 商城端用戶登錄攔截器的實現 596
22.5.1 定義攔截器 597
22.5.2 配置攔截器 598
22.6 功能測試 600
第23章 商城端搜尋商品功能的開發 602
23.1 搜尋頁面的設計和數據格式的定義 602
23.1.1 搜尋頁面的設計 602
23.1.2 數據格式的定義 603
23.2 發起搜尋請求 605
23.2.1 商品的關鍵字搜尋 605
23.2.2 商品的分類搜尋功能 607
23.3 商品數據查詢的實現代碼 608
23.3.1 數據層代碼的實現 609
23.3.2 業務層代碼的實現 611
23.4 商品搜尋結果頁面數據的渲染 612
23.4.1 參數封裝及分頁數據的獲取 612
23.4.2 搜尋結果頁面渲染的邏輯實現 614
第24章 商品詳情頁及購物車功能的開發 619
24.1 商城端商品詳情頁面的製作 619
24.1.1 商品詳情頁跳轉邏輯的實現 619
24.1.2 商品詳情頁面數據的渲染 620
24.2 購物車模組簡介及表結構設計 624
24.2.1 購物車模組簡介 624
24.2.2 購物車表結構設計 624
24.3 將商品加入購物車功能的實現 625
24.3.1 新建購物項實體類和Mapper接口 625
24.3.2 創建NewBeeMallShoppingCartItemMapper接口的映射檔案 628
24.3.3 業務層代碼的實現 631
24.3.4 將商品加入購物車接口的實現 633
24.3.5 前端功能的實現 635
24.4 購物車列表功能的實現 636
24.4.1 數據格式的定義 636
24.4.2 購物車列表數據的獲取 638
24.4.3 購物車列表數據的渲染 641
24.5 編輯購物項功能的實現 645
24.5.1 數據層代碼的實現 645
24.5.2 業務層代碼的實現 646
24.5.3 控制層代碼的實現 648
24.5.4 前端調用修改和刪除購物項的接口 650
24.6 功能測試 652
第25章 訂單模組功能開發及講解 656
25.1 訂單確認頁面的功能開發 657
25.1.1 商城中的訂單確認步驟 657
25.1.2 訂單確認的前置步驟 658
25.1.3 訂單確認頁面的數據整合 659
25.1.4 訂單確認頁面製作及數據渲染 660
25.2 訂單模組中的表結構設計 667
25.2.1 訂單主表和訂單項關聯表設計 667
25.2.2 訂單項表的設計思路 670
25.3 訂單生成功能的實現 670
25.3.1 新蜂商城訂單生成的流程 670
25.3.2 發起訂單生成請求 671
25.3.3 訂單生成請求處理 672
25.3.4 訂單生成邏輯的實現 674
25.4 訂單詳情頁面功能的實現 677
25.4.1 訂單詳情跳轉處理 677
25.4.2 訂單詳情數據的渲染 678
25.5 商城端訂單列表功能 685
25.5.1 訂單列表數據格式的定義 685
25.5.2 訂單列表頁面數據的獲取 690
25.5.3 訂單列表頁面渲染的邏輯 692
25.6 訂單處理流程及訂單狀態的介紹 697
25.6.1 訂單處理流程 697
25.6.2 訂單狀態的介紹 698
25.7 訂單狀態轉換的講解 700
25.7.1 訂單支付 700
25.7.2 訂單確認 703
25.7.3 訂單出庫 704
25.7.4 確認收貨 705
25.7.5 取消訂單 705
25.8 商城系統的展望 707
作者簡介
韓帥(十三)
企業技術主管、掘金優秀作者、CSDN部落格專家、專欄作者、視頻講師。
GitHub開源項目newbee-mall系列的主理人,多年一線開發經驗,歷任高級開發工程師、後端主程、技術部門主管等職位。熟練使用Java、SQL、Spring Boot、Vue等計算機語言和開發框架,有非常豐富的開發經驗,同時也是開源項目的愛好者和貢獻者。