詳解Spring Boot——從入門到企業級開發實戰

詳解Spring Boot——從入門到企業級開發實戰

《詳解Spring Boot——從入門到企業級開發實戰》是2022年電子工業出版社出版圖書,作者是孫鑫。

熟悉Spring Boot項目的常用開發工具。

基本介紹

  • 書名:詳解Spring Boot——從入門到企業級開發實戰
  • 作者:孫鑫
  • 出版社:電子工業出版社
  • 出版時間:2022年
  • 頁數:524 頁
  • 定價:129 元
  • 開本:16 開
  • ISBN:978712143984
內容簡介,圖書目錄,作者簡介,

內容簡介

《詳解Spring Boot——從入門到企業級開發實戰》針對SpringBoot 2.6.x及以上版本,採用理論結合實際的講解方式,每章均配有多個示例,在內容安排上由淺入深,在知識講解上深入淺出,讓讀者輕鬆掌握多種技術、中間件、框架與Spring Boot的整合開發。最後通過兩個實戰項目,讓讀者在進入企業後可以快速從事基於Spring Boot的企業開發。
《詳解Spring Boot——從入門到企業級開發實戰》共分為五篇:基礎篇、Web篇、數據訪問篇、企業套用開發篇、項目實戰篇。本書內容全面,涵蓋了常用的技術、中間件與框架;講解深入淺出,讓讀者學有所得。

圖書目錄

第1篇 基礎篇
第1章 Spring Boot初窺 1
1.1 Spring Boot簡介 1
1.2 快速掌握Maven 2
1.2.1 下載並安裝Maven 2
1.2.2 認識pom.xml檔案 4
1.2.3 配置Maven 12
1.2.4 使用Maven和JDK開發Spring Boot套用 13
1.3 使用Spring Tool Suite開發Spring Boot套用 16
1.3.1 下載並安裝STS 16
1.3.2 配置Maven環境 17
1.3.3 開發Spring Boot套用 19
1.4 使用IntelliJ IDEA開發Spring Boot套用22
1.4.1 下載並安裝IDEA 22
1.4.2 配置IDEA 23
1.4.3 開發Spring Boot套用 25
1.5 小結 26
第2章 Spring Boot基礎 27
2.1 Spring Boot項目結構剖析 27
2.2 編寫控制器 29
2.3 熱部署 30
2.4 Spring Boot的配置檔案 33
2.4.1 YAML語法 33
2.4.2 配置嵌入式伺服器 37
2.4.3 關閉啟動時的Banner 40
2.4.4 配置日誌 40
2.4.5 使用Profile進行配置 43
2.5 外部配置 47
2.6 Spring Boot常用註解 51
2.6.1 與配置相關的註解 52
2.6.2 Spring MVC相關的註解 52
2.6.3 組件聲明相關的註解 53
2.6.4 依賴注入相關的註解 53
2.7 理解starter 53
2.7.1 安裝EditStarters外掛程式 54
2.7.2 Spring Boot提供的starter 56
2.8 Spring Boot自動配置原理 57
2.9 自定義starter 62
2.9.1 自動配置模組 63
2.9.2 starter模組 70
2.9.3 測試自定義的starter 71
2.10 小結72
第2篇 Web篇
第3章 快速掌握Spring MVC 73
3.1 MVC架構模式 73
3.2 Spring MVC 74
3.3 Spring MVC自動配置 76
3.4 Spring MVC接收請求參數 76
3.4.1 準備項目 77
3.4.2 接收表單參數 81
3.4.3 接收JSON數據 82
3.4.4 URL參數 83
3.4.5 檔案上傳 83
3.4.6 請求報頭 84
3.4.7 日期類型參數處理 85
3.5 控制器方法的返回值 85
3.5.1 String 86
3.5.2 ModelAndView 86
3.5.3 Map和Model 87
3.5.4 @ResponseBody註解 87
3.5.5 HttpEntity<B>和ResponseEntity<B> 88
3.5.6 void 88
3.6 @ModelAttribute註解 89
3.7 URL模式匹配 90
3.8 設定上下文路徑 90
3.9 小結 91
第4章 Thymeleaf模板引擎 92
4.1 引入和配置Thymeleaf 92
4.2 準備項目 95
4.3 Thymeleaf的語法 99
4.3.1 使用文本 99
4.3.2 國際化 99
4.3.3 標準表達式語法 103
4.3.4 設定屬性值 113
4.3.5 疊代 115
4.3.6 條件判斷 118
4.3.7 模板布局 119
4.3.8 定義局部變數 130
4.3.9 屬性優先權 130
4.3.10 注釋 131
4.3.11 塊級標籤th:block 133
4.3.12 內聯 133
4.4 用戶註冊程式 137
4.4.1 編寫註冊和註冊成功頁面 137
4.4.2 編寫User類 139
4.4.3 編寫UserController類 139
4.4.4 測試用戶註冊程式 140
4.5 小結 141
第5章 過濾器、監聽器與攔截器 142
5.1 Servlet過濾器 142
5.1.1 Filter接口 143
5.1.2 對回響內容進行壓縮的過濾器 144
5.2 Servlet監聽器 149
5.3 攔截器 151
5.4 小結 153
第6章 輸入驗證與攔截器 154
6.1 JSR-303 155
6.2 添加驗證依賴 155
6.3 對User的欄位添加驗證156
6.4 在註冊頁面中添加驗證錯誤訊息的顯示 157
6.5 測試輸入數據的驗證 159
6.6 自定義驗證器 159
6.6.1 自定義註解 160
6.6.2 編寫實現ConstraintValidator接口的類 160
6.6.3 在User類上使用自定義驗證註解 162
6.6.4 在註冊頁面中添加確認密碼輸入項 163
6.6.5 測試自定義驗證功能 163
6.7 登錄驗證攔截器 163
6.8 小結 168
第7章 異常處理和錯誤處理 169
7.1 異常處理 169
7.1.1 @ExceptionHandler註解 169
7.1.2 全局異常處理 171
7.2 自定義錯誤頁面 172
7.3 小結 176
第8章 檔案上傳和下載 177
8.1 檔案上傳 177
8.2 檔案下載 179
8.3 小結 181
第9章 定義RESTful風格的接口 182
9.1 什麼是REST 182
9.2 HTTP方法與RESTful接口 183
9.3 HTTP回響的狀態代碼 185
9.4 狀態代碼的困惑與最佳實踐 186
9.5 RESTful API設計原則 188
9.6 RESTful API接口的實踐 189
9.6.1 項目實例 190
9.6.2 使用Postman測試接口 194
9.6.3 使用RestTemplate測試接口 198
9.7 編寫全局錯誤處理器 200
9.8 使用Swagger 3.0生成接口文檔 204
9.8.1 添加Swagger 3.0.0依賴 204
9.8.2 創建Swagger的配置類 204
9.8.3 瀏覽自動生成的接口文檔 205
9.8.4 使用Swagger的註解明確描述接口 207
9.9 小結 210
第10章 Spring WebFlux框架 211
10.1 回響式編程與Reactive Streams 211
10.1.1 Reactive Streams規範211
10.1.2 Java 9的回響式流實現 212
10.2 Spring MVC與Spring WebFlux 215
10.3 認識Reactor 216
10.4 Spring WebFlux的兩種編程模型 217
10.4.1 帶註解的控制器方式 218
10.4.2 函式式開發方式 220
10.5 體驗異步非阻塞 227
10.6 伺服器傳送事件 228
10.7 小結229
第3篇 數據訪問篇
第11章 使用Spring的JdbcTemplate訪問數據 230
11.1 認識Spring Data 230
11.2 準備工作232
11.3 使用JdbcTemplate 233
11.3.1 準備項目 234
11.3.2 StatementCallback 235
11.3.3 PreparedStatementCreator 235
11.3.4 PreparedStatementCallback236
11.3.5 PreparedStatementSetter 236
11.3.6 讀取數據 237
11.3.7 執行存儲過程 239
11.3.8 獲取生成的主鍵 240
11.3.9 編寫實體類 245
11.3.10 編寫DAO類 246
11.4 小結249
第12章 使用JPA訪問數據 250
12.1 感受JPA 250
12.1.1 準備項目 251
12.1.2 配置JPA相關屬性 252
12.1.3 編寫實體類 252
12.1.4 編寫DAO接口 253
12.1.5 編寫單元測試 254
12.2 兩種開發方式256
12.3 JPA相關註解 256
12.4 Spring Data JPA的核心接口 257
12.4.1 Repository<T,ID>接口 258
12.4.2 CrudRepository<T,ID>接口 259
12.4.3 PagingAndSortingRepository<T,ID>接口 259
12.4.4 JPARepository <T,ID>接口 259
12.4.5 JpaSpecificationExecutor <T>接口 260
12.5 關聯關係映射261
12.5.1 基於主鍵的一對一關聯映射 262
12.5.2 基於外鍵的一對一關聯映射 267
12.5.3 一對多關聯映射 270
12.5.4 多對多關聯映射 274
12.6 使用JPQL進行查詢 277
12.7 使用原生SQL語句進行查詢278
12.8 事務279
12.8.1 資料庫事務隔離級別 279
12.8.2 事務傳播 280
12.8.3 @Transactional註解 280
12.8.4 事務邊界 281
12.9 項目實際問題的解決 281
12.10 小結 282
第13章 使用MyBatis訪問數據 283
13.1 感受MyBatis 283
13.2 SqlSessionFactory 288
13.3 SqlSession289
13.3.1 語句執行方法 289
13.3.2 立即批量更新方法 291
13.3.3 事務控制方法 291
13.3.4 本地快取 291
13.3.5 確保SqlSession被關閉 292
13.4 使用映射器 292
13.5 映射器註解 293
13.6 使用註解實現增、刪、改、查 296
13.7 關聯關係映射299
13.7.1 一對一關聯映射 299
13.7.2 一對多關聯映射 301
13.7.3 多對多關聯映射 304
13.8 分頁查詢306
13.9 小結309
第14章 使用MongoDB訪問數據 310
14.1 下載和安裝MongoDB 310
14.2 MongoDB與關係資料庫的對比 312
14.3 增、刪、改、查的實現312
14.4 小結315
第4篇 企業套用開發篇
第15章 安全框架Spring Security316
15.1 快速開始316
15.2 身份驗證318
15.3 表單認證318
15.3.1 自定義表單登錄頁 319
15.3.2 對有限資源進行保護 321
15.4 前後端分離的登錄處理方式325
15.5 多用戶的認證與授權 327
15.5.1 記憶體用戶的認證和授權 327
15.5.2 默認資料庫模型的用戶認證與授權 330
15.5.3 自定義資料庫模型的用戶認證與授權 332
15.6 JWT 336
15.6.1 什麼是JWT 337
15.6.2 JWT的結構 338
15.6.3 使用JWT實現token驗證 339
15.7 小結348
第16章 Spring Boot與快取 349
16.1 Spring的快取抽象 349
16.2 Spring的快取註解 349
16.2.1 @Cacheable註解 350
16.2.2 @CachePut註解 352
16.2.3 @CacheEvict註解 352
16.2.4 @Caching註解 353
16.2.5 @CacheConfig註解 353
16.2.6 啟用快取 353
16.3 實例:在Spring Boot項目中套用快取 353
16.4 自定義鍵的生成策略 357
16.5 JCache(JSR-107)註解358
16.6 小結359
第17章 Spring Boot集成Redis 360
17.1 Redis簡介 360
17.2 Redis的套用場景 361
17.3 Redis的安裝 361
17.4 Redis數據類型 363
17.4.1 string 363
17.4.2 hash 363
17.4.3 list 364
17.4.4 set364
17.4.5 zset 364
17.5 將Redis用作快取 365
17.6 掌握RedisTemplate369
17.6.1 操作字元串 369
17.6.2 操作哈希 370
17.6.3 操作列表 371
17.6.4 操作集合 372
17.6.5 操作有序集合 373
17.7 編寫工具類封裝Redis訪問操作 374
17.8 自定義RedisTemplate序列化方式 383
17.9 手動實現Redis數據存儲與讀取 385
17.10 小結 386
第18章 Spring Boot集成RabbitMQ 387
18.1 面向訊息的中間件387
18.2 RabbitMQ簡介 388
18.2.1 AMQP 389
18.2.2 常用交換器 390
18.3 RabbitMQ的下載與安裝 393
18.3.1 安裝Erlang/OTP軟體庫 393
18.3.2 安裝RabbitMQ 393
18.3.3 添加可視化外掛程式 393
18.3.4 管理界面 393
18.4 RabbitMQ客戶端API介紹 394
18.4.1 連線RabbitMQ伺服器 395
18.4.2 創建信道 395
18.4.3 聲明交換器 395
18.4.4 聲明佇列 396
18.4.5 綁定佇列 397
18.4.6 發布訊息 398
18.4.7 消費訊息 399
18.4.8 訊息確認與拒絕 401
18.4.9 關閉連線 403
18.5 六種套用模式403
18.5.1 Simple 403
18.5.2 工作佇列 404
18.5.3 發布/訂閱 408
18.5.4 路由 410
18.5.5 主題 412
18.5.6 RPC 415
18.6 Spring Boot對RabbitMQ的支持 420
18.6.1 傳送訊息 420
18.6.2 接收訊息 421
18.6.3 使用Spring AMQP實現六種套用模式 421
18.7 延遲訊息佇列436
18.7.1 安裝延遲訊息外掛程式 436
18.7.2 訂單支付逾時處理案例 436
18.8 小結440
第19章 集成Elasticsearch,提供搜尋服務 441
19.1 Elasticsearch的下載與安裝 441
19.1.1 安裝Elasticsearch 441
19.1.2 安裝Web前端elasticsearch-head 442
19.1.3 配置允許跨域 442
19.2 Elasticsearch的基本概念 443
19.3 Spring Boot對Elasticsearch的支持 444
19.3.1 映射註解 445
19.3.2 ElasticsearchRestTemplate 446
19.3.3 ElasticsearchRepository 450
19.4 小結455
第5篇 項目實戰篇
第20章 電子商城項目實戰 456
20.1 資料庫設計 456
20.2 創建項目458
20.3 項目結構458
20.4 項目配置459
20.5 分類模組460
20.6 圖書模組與評論模組 464
20.7 用戶模組475
20.8 安全實現478
20.9 使用JWT實現token驗證 483
20.10 全局錯誤處理器 485
20.11 小結 487
第21章 商品秒殺系統 488
21.1 功能描述488
21.2 資料庫設計 490
21.3 創建項目491
21.4 項目結構491
21.5 項目配置492
21.6 配置Redis和RabbitMQ493
21.7 數據訪問層 494
21.7.1 實體類 494
21.7.2 DAO接口 496
21.8 業務邏輯層(服務層)496
21.9 表示層(Web層) 501
21.9.1 控制器 501
21.9.2 頁面 503
21.10 小結 506
第22章 部署Spring Boot應用程式 507
22.1 JAR包的打包方式與執行 507
22.2 打包成WAR檔案並部署到Tomcat伺服器上 508
22.3 小結510

作者簡介

作者簡介
孫鑫,國內IT技術和教育專家,2009年中國教育傑出人物。具有20多年的軟體開發和教育培訓經驗,精通多種程式語言和技術架構。2004年曾推出“VC++深入編程”和“Java無難事”教學視頻,引起了強烈的反響,在網路上掀起了一股視頻教學的風潮,數十萬名學員通過這兩套視頻走上了軟體開發的道路。作者從2006年開始,相繼出版了多本暢銷技術專著,包括《Java無難事》《Java Web開發詳解》 《VC++深入詳解》《Struts 2深入詳解》《Servlet/JSP深入詳解》《XML、XML Schema、XSLT 2.0和XQuery開發詳解 》《HTML5、CSS和JavaScript開發》《Vue.js從入門到實戰》。

相關詞條

熱門詞條

聯絡我們