注冊 | 登錄讀書好,好讀書,讀好書!
讀書網-DuShu.com
當前位置: 首頁出版圖書科學技術計算機/網絡軟件與程序設計Spring Boot應用開發(fā)實戰(zhàn)

Spring Boot應用開發(fā)實戰(zhàn)

Spring Boot應用開發(fā)實戰(zhàn)

定 價:¥79.00

作 者: 饒仕琪 著
出版社: 清華大學出版社
叢編項:
標 簽: 暫缺

購買這本書可以去


ISBN: 9787302575269 出版時間: 2021-02-01 包裝: 平裝
開本: 16 頁數: 317 字數:  

內容簡介

  隨著移動互聯網的發(fā)展,對Web開發(fā)的需求日益上升。Spring Boot作為Web開發(fā)領域中的利器,無論是單體應用,還是用于面向服務架構或者微服務架構,都有不錯的表現。本書面向準備在Web開發(fā)領域一展拳腳的讀者,詳細介紹了Spring Boot 2.3應用開發(fā)的相關知識。 本書共10章,第1~2章介紹了Spring Boot 2.3開發(fā)基礎,包括環(huán)境搭建、依賴引入以及如何從零到一地構建一個基礎Spring Boot應用;第3~7章以章為單位聚焦不同技術領域,包括Web服務、數據持久化、服務安全性、測試驗證以及部署運維,結合詳細示例講解各領域內通用的解決方案;第8~10章為實戰(zhàn)內容,包括三種類型項目的實戰(zhàn):聊天服務、在線商城、個人云盤。 本書內容全面、實例豐富,非常值得廣大Web開發(fā)從業(yè)者作為案頭的參考書,也可作為高等院校計算機及相關專業(yè)的教材或課程設計參考書。

作者簡介

  饒仕琪,BAT某公司高級Java開發(fā)工程師。有豐富的開發(fā)經驗,曾參與大數據云平臺、電商系統、物聯網平臺等數個不同規(guī)模項目的開發(fā)工作。積極地參與到項目開發(fā)周期的各個環(huán)節(jié),包括性能分析、設計、開發(fā)和測試。掌握的專業(yè)知識與開發(fā)框架,如Core Java、Spring、設計模式、通訊協議等,均在實戰(zhàn)中實踐并驗證。在主導或是參與項目的推進之外,不斷地學習并探索Web開發(fā)技術中的“最佳實踐”。

圖書目錄

第1章  Spring Boot基礎知識 1
1.1  Spring與Spring Boot 1
1.1.1  當我們談論Spring時會談論些什么 1
1.1.2  什么是Spring Boot 2
1.1.3  Spring Boot的優(yōu)勢 3
1.2  Spring Boot 2.3開發(fā)環(huán)境 4
1.2.1  選擇合適的JDK 4
1.2.2  選擇趁手的IDE 5
1.2.3  選擇適用于大型項目的自動化構建工具 7
1.3  Spring Initializr初始化項目 8
1.3.1  什么是Spring Initializr 8
1.3.2  開始吧!start.spring.io 8
1.3.3  使用IDE初始化Spring Boot工程 10
1.3.4  初探Spring Boot CLI 12
1.4  Spring Boot目錄結構 13
1.4.1  初始化的工程結構 13
1.4.2  推薦的工程結構 15
1.4.3  Maven Wrapper讓構建工具隨源碼分發(fā) 17
1.5  構建個Spring Boot項目 18
1.5.1  經典“Hello World” 18
1.5.2  使用JUnit 5測試 19
1.5.3  創(chuàng)建工具類CommonUtil 21
1.5.4  使用JPA進行數據持久化 22
1.5.5  修改控制器以及對應模板文件 25
1.5.6  發(fā)布HTTP接口 29
1.6  Spring Boot自動配置與外部配置 31
1.6.1  自動配置 31
1.6.2  外部配置 32
1.6.3  命令行配置 32
1.6.4  application.yaml/properties配置文件 33
第2章  使用Spring Boot構建Web應用程序 36
2.1  實體與數據持久化 36
2.1.1  數據持久化框架 36
2.1.2  什么是實體 37
2.1.3  淺談Spring Data JPA 38
2.1.4  使用Lombok簡化POJO 40
2.2  MVC與模板引擎 42
2.2.1  MVC架構 42
2.2.2  Mustache模板引擎 42
2.2.3  構建MVC架構的Web應用 46
2.3  文件上傳與下載 50
2.3.1  文件上傳 50
2.3.2  文件下載 53
2.4  Spring Boot日志 55
2.4.1  使用預設配置 55
2.4.2  基礎配置 56
2.4.3  詳細配置 57
2.4.4  Lombok注解:@Sl4j和@Commonslog 58
2.4.5  在Windows平臺輸出彩色日志的JANSI 59
2.5  過濾器與攔截器 59
2.5.1  過濾器 60
2.5.2  使用過濾器實現訪問控制 60
2.5.3  攔截器 62
2.5.4  使用攔截器記錄請求參數 63
2.6  Spring Boot事件 64
2.6.1  事件驅動模型 64
2.6.2  內置事件 65
2.6.3  監(jiān)聽內置事件 65
2.6.4  自定義事件 66
2.6.5  異步事件 68
第3章  創(chuàng)建RESTful Web服務 69
3.1  HTTP動詞 69
3.1.1  構建一個基礎的RESTful Web服務 70
3.1.2  是GetMapping嗎?是RequestMapping 74
3.2  請求與響應 76
3.2.1  HTTP報文 76
3.2.2  簡單請求與@RequestParam 77
3.2.3  使用@PathVariable獲取URL中的參數 79
3.2.4  借助@RequestHeader讀取請求頭 80
3.2.5  @RequestBody與@ResponseBody 81
3.2.6  使用ResponseEntity處理HTTP響應 82
3.3  參數驗證 83
3.3.1  基礎驗證Bean Validation 83
3.3.2  高級驗證Spring Validation 84
3.3.3  自定義校驗 86
3.4  錯誤處理 88
3.4.1  使用@ExceptionHandler處理異常 88
3.4.2  使用HandlerExceptionResolver處理異常 89
3.4.3  使用@ControllerAdvice處理異常 90
3.4.4  拋出ResponseStatusException異常 92
3.5  Swagger文檔 92
3.5.1  Swagger/OpenAPI規(guī)范 92
3.5.2  生成接口文檔 93
3.5.3  使用注解生成文檔內容 94
第4章  數據庫與持久化技術 97
4.1  使用JdbcTemplate訪問關系型數據庫 97
4.1.1  引入依賴 97
4.1.2  準備數據 98
4.1.3  queryForObject()方法 99
4.1.4  使用RowMapper映射實體 99
4.1.5  使用BeanPropertyRowMapper映射 100
4.1.6  queryForList()方法 101
4.1.7  不同的JDBCTemplate實現NamedParameterJdbcTemplate 101
4.1.8  update()方法 102
4.2  JPA與關系型數據庫 103
4.2.1  什么是JPA 103
4.2.2  再談Spring Data JPA 104
4.2.3  基于JpaRepository接口查詢 106
4.2.4  基于JpaSpecificationExecutor接口查詢 109
4.2.5  基于JPQL或SQL 113
4.2.6  多表連接 113
4.2.7  級聯操作 117
4.2.8  加載類型 117
4.3  Spring Data MongoDB 118
4.3.1  準備工作 118
4.3.2  使用MongoTemplate訪問MongDB 120
4.3.3  使用MongoRepository訪問MongoDB 124
4.4  Spring Data Redis 125
4.4.1  準備工作 125
4.4.2  使用RedisRepository訪問Redis 126
4.4.3  使用RedisTemplate訪問Redis 128
第5章  應用程序安全性 130
5.1  基于Spring Security的注冊登錄 130
5.1.1  Spring Security簡介 130
5.1.2  用戶注冊 131
5.1.3  用戶登錄 133
5.1.4  “記住我”功能 135
5.2  權限管理 137
5.2.1  權限與角色 137
5.2.2  權限管理體系中的實體:用戶、角色與權限 137
5.2.3  配置與應用 140
5.2.4  權限管理注解 141
5.3  Session-Cookie 143
5.3.1  什么是Session-Cookie 143
5.3.2  使用Spring Session管理Session 144
5.3.3  Session并發(fā)配置 146
5.3.4  強制下線 147
5.4  JWT(JSON Web Token) 148
5.4.1  關于JWT 148
5.4.2  JWT工作流程 149
5.4.3  Spring Security集成JWT 150
5.5  OAuth 2.0 156
5.5.1  OAuth 2.0簡介 156
5.5.2  授權模式 157
5.5.3  集成OAuth 2.0實現SSO單點登錄 160
第6章  自動化測試 164
6.1  單元測試 164
6.1.1  測試金字塔 164
6.1.2  JUnit基礎 165
6.1.3  JUnit 5簡介 170
6.2  斷言 172
6.2.1  assert關鍵字 173
6.2.2  JUnit 4里的斷言 173
6.2.3  assertThat方法 174
6.2.4  自定義Hamcrest匹配器 175
6.2.5  斷言框架AssertJ 177
6.3  測試中的模擬行為Mock 179
6.3.1  測試替身 179
6.3.2  Mockito框架 180
6.4  集成測試 183
6.4.1  @WebMvcTest注解 183
6.4.2  @DataJpaTest注解 187
6.4.3  @SpringBootTest以及其他一些注解 189
第7章  部署與運維 190
7.1  發(fā)布與部署 190
7.1.1  Spring Boot自身的打包方式1——可執(zhí)行jar文件 190
7.1.2  Spring Boot自身的打包方式2——部署于傳統Web容器的war格式 191
7.1.3  更現代的發(fā)布流程1——基于Docker的發(fā)布與部署 193
7.1.4  更現代的發(fā)布流程2——基于RPM的發(fā)布與部署 195
7.1.5  多環(huán)境配置 197
7.2  運行監(jiān)控 198
7.2.1  使用Spring Boot Actuator查看運行指標 199
7.2.2  集成Prometheus 200
7.2.3  Grafana實現可視化監(jiān)控 203
7.3  Spring Boot開發(fā)者工具 206
7.3.1  整合spring-boot-devtools 206
7.3.2  自動配置 207
7.3.3  熱部署 207
7.3.4  LiveReload插件支持靜態(tài)資源的及時更新 208
7.3.5  全局配置 208
7.3.6  遠程應用 209
第8章  實戰(zhàn)1:基于STOMP協議的聊天服務 211
8.1  架構設計 211
8.2  框架搭建 212
8.3  功能實現 214
8.3.1  了解WebSocket協議 214
8.3.2  HTTP請求升級至WebSocket的過程 215
8.3.3  了解WebSocket應用場景 216
8.3.4  集成WebSocket 216
8.3.5  使用STOMP協議實現消息模塊 218
8.3.6  模塊配置 225
8.3.7  注冊登錄 227
8.3.8  聊天記錄 230
8.3.9  私聊功能 233
8.4  測試與驗證 238
8.4.1  集成測試 238
8.4.2  手工測試 240
第9章  實戰(zhàn)2:在線商城 245
9.1  架構設計 245
9.2  框架搭建 246
9.3  數據庫設計 247
9.4  功能實現 248
9.4.1  模板引擎Thymeleaf 249
9.4.2  實體類 253
9.4.3  用戶注冊 256
9.4.4  用戶登錄 260
9.4.5  主頁以及商品列表 263
9.4.6  購物車 266
9.4.7  頁眉、導航條以及頁腳 271
9.5  測試與驗證 272
9.5.1  測試數據 273
9.5.2  集成測試 274
9.5.3  手工測試 276
第10章  實戰(zhàn)3:個人云盤 281
10.1  架構設計 281
10.2  框架搭建 282
10.2.1  MinIO與對象存儲 282
10.2.2  MinIO部署與使用 283
10.2.3  項目依賴項與軟件包結構 283
10.3  數據庫設計 285
10.4  功能實現 286
10.4.1  MinIO Java SDK簡介 286
10.4.2  實現MinIO Starter 290
10.4.3  實體類 294
10.4.4  用戶注冊 296
10.4.5  用戶登錄 298
10.4.6  云盤主頁 300
10.4.7  頁面配置 306
10.5  測試與驗證 308
10.5.1  集成測試 308
10.5.2  手工測試 309

本目錄推薦

掃描二維碼
Copyright ? 讀書網 www.autoforsalebyowners.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網安備 42010302001612號