注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)軟件與程序設(shè)計(jì)Spring Boot應(yīng)用開發(fā)實(shí)戰(zhàn)

Spring Boot應(yīng)用開發(fā)實(shí)戰(zhàn)

Spring Boot應(yīng)用開發(fā)實(shí)戰(zhàn)

定 價:¥79.00

作 者: 饒仕琪 著
出版社: 清華大學(xué)出版社
叢編項(xiàng):
標(biāo) 簽: 暫缺

ISBN: 9787302575269 出版時間: 2021-02-01 包裝: 平裝
開本: 16 頁數(shù): 317 字?jǐn)?shù):  

內(nèi)容簡介

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

作者簡介

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

圖書目錄

第1章  Spring Boot基礎(chǔ)知識 1
1.1  Spring與Spring Boot 1
1.1.1  當(dāng)我們談?wù)揝pring時會談?wù)撔┦裁?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  選擇適用于大型項(xiàng)目的自動化構(gòu)建工具 7
1.3  Spring Initializr初始化項(xiàng)目 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目錄結(jié)構(gòu) 13
1.4.1  初始化的工程結(jié)構(gòu) 13
1.4.2  推薦的工程結(jié)構(gòu) 15
1.4.3  Maven Wrapper讓構(gòu)建工具隨源碼分發(fā) 17
1.5  構(gòu)建個Spring Boot項(xiàng)目 18
1.5.1  經(jīng)典“Hello World” 18
1.5.2  使用JUnit 5測試 19
1.5.3  創(chuàng)建工具類CommonUtil 21
1.5.4  使用JPA進(jìn)行數(shù)據(jù)持久化 22
1.5.5  修改控制器以及對應(yīng)模板文件 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構(gòu)建Web應(yīng)用程序 36
2.1  實(shí)體與數(shù)據(jù)持久化 36
2.1.1  數(shù)據(jù)持久化框架 36
2.1.2  什么是實(shí)體 37
2.1.3  淺談Spring Data JPA 38
2.1.4  使用Lombok簡化POJO 40
2.2  MVC與模板引擎 42
2.2.1  MVC架構(gòu) 42
2.2.2  Mustache模板引擎 42
2.2.3  構(gòu)建MVC架構(gòu)的Web應(yīng)用 46
2.3  文件上傳與下載 50
2.3.1  文件上傳 50
2.3.2  文件下載 53
2.4  Spring Boot日志 55
2.4.1  使用預(yù)設(shè)配置 55
2.4.2  基礎(chǔ)配置 56
2.4.3  詳細(xì)配置 57
2.4.4  Lombok注解:@Sl4j和@Commonslog 58
2.4.5  在Windows平臺輸出彩色日志的JANSI 59
2.5  過濾器與攔截器 59
2.5.1  過濾器 60
2.5.2  使用過濾器實(shí)現(xiàn)訪問控制 60
2.5.3  攔截器 62
2.5.4  使用攔截器記錄請求參數(shù) 63
2.6  Spring Boot事件 64
2.6.1  事件驅(qū)動模型 64
2.6.2  內(nèi)置事件 65
2.6.3  監(jiān)聽內(nèi)置事件 65
2.6.4  自定義事件 66
2.6.5  異步事件 68
第3章  創(chuàng)建RESTful Web服務(wù) 69
3.1  HTTP動詞 69
3.1.1  構(gòu)建一個基礎(chǔ)的RESTful Web服務(wù) 70
3.1.2  是GetMapping嗎?是RequestMapping 74
3.2  請求與響應(yīng) 76
3.2.1  HTTP報(bào)文 76
3.2.2  簡單請求與@RequestParam 77
3.2.3  使用@PathVariable獲取URL中的參數(shù) 79
3.2.4  借助@RequestHeader讀取請求頭 80
3.2.5  @RequestBody與@ResponseBody 81
3.2.6  使用ResponseEntity處理HTTP響應(yīng) 82
3.3  參數(shù)驗(yàn)證 83
3.3.1  基礎(chǔ)驗(yàn)證Bean Validation 83
3.3.2  高級驗(yàn)證Spring Validation 84
3.3.3  自定義校驗(yàn) 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  使用注解生成文檔內(nèi)容 94
第4章  數(shù)據(jù)庫與持久化技術(shù) 97
4.1  使用JdbcTemplate訪問關(guān)系型數(shù)據(jù)庫 97
4.1.1  引入依賴 97
4.1.2  準(zhǔn)備數(shù)據(jù) 98
4.1.3  queryForObject()方法 99
4.1.4  使用RowMapper映射實(shí)體 99
4.1.5  使用BeanPropertyRowMapper映射 100
4.1.6  queryForList()方法 101
4.1.7  不同的JDBCTemplate實(shí)現(xiàn)NamedParameterJdbcTemplate 101
4.1.8  update()方法 102
4.2  JPA與關(guān)系型數(shù)據(jù)庫 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  級聯(lián)操作 117
4.2.8  加載類型 117
4.3  Spring Data MongoDB 118
4.3.1  準(zhǔn)備工作 118
4.3.2  使用MongoTemplate訪問MongDB 120
4.3.3  使用MongoRepository訪問MongoDB 124
4.4  Spring Data Redis 125
4.4.1  準(zhǔn)備工作 125
4.4.2  使用RedisRepository訪問Redis 126
4.4.3  使用RedisTemplate訪問Redis 128
第5章  應(yīng)用程序安全性 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  權(quán)限管理 137
5.2.1  權(quán)限與角色 137
5.2.2  權(quán)限管理體系中的實(shí)體:用戶、角色與權(quán)限 137
5.2.3  配置與應(yīng)用 140
5.2.4  權(quán)限管理注解 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  強(qiáng)制下線 147
5.4  JWT(JSON Web Token) 148
5.4.1  關(guān)于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  授權(quán)模式 157
5.5.3  集成OAuth 2.0實(shí)現(xiàn)SSO單點(diǎn)登錄 160
第6章  自動化測試 164
6.1  單元測試 164
6.1.1  測試金字塔 164
6.1.2  JUnit基礎(chǔ) 165
6.1.3  JUnit 5簡介 170
6.2  斷言 172
6.2.1  assert關(guān)鍵字 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章  部署與運(yùn)維 190
7.1  發(fā)布與部署 190
7.1.1  Spring Boot自身的打包方式1——可執(zhí)行jar文件 190
7.1.2  Spring Boot自身的打包方式2——部署于傳統(tǒng)Web容器的war格式 191
7.1.3  更現(xiàn)代的發(fā)布流程1——基于Docker的發(fā)布與部署 193
7.1.4  更現(xiàn)代的發(fā)布流程2——基于RPM的發(fā)布與部署 195
7.1.5  多環(huán)境配置 197
7.2  運(yùn)行監(jiān)控 198
7.2.1  使用Spring Boot Actuator查看運(yùn)行指標(biāo) 199
7.2.2  集成Prometheus 200
7.2.3  Grafana實(shí)現(xiàn)可視化監(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  遠(yuǎn)程應(yīng)用 209
第8章  實(shí)戰(zhàn)1:基于STOMP協(xié)議的聊天服務(wù) 211
8.1  架構(gòu)設(shè)計(jì) 211
8.2  框架搭建 212
8.3  功能實(shí)現(xiàn) 214
8.3.1  了解WebSocket協(xié)議 214
8.3.2  HTTP請求升級至WebSocket的過程 215
8.3.3  了解WebSocket應(yīng)用場景 216
8.3.4  集成WebSocket 216
8.3.5  使用STOMP協(xié)議實(shí)現(xiàn)消息模塊 218
8.3.6  模塊配置 225
8.3.7  注冊登錄 227
8.3.8  聊天記錄 230
8.3.9  私聊功能 233
8.4  測試與驗(yàn)證 238
8.4.1  集成測試 238
8.4.2  手工測試 240
第9章  實(shí)戰(zhàn)2:在線商城 245
9.1  架構(gòu)設(shè)計(jì) 245
9.2  框架搭建 246
9.3  數(shù)據(jù)庫設(shè)計(jì) 247
9.4  功能實(shí)現(xiàn) 248
9.4.1  模板引擎Thymeleaf 249
9.4.2  實(shí)體類 253
9.4.3  用戶注冊 256
9.4.4  用戶登錄 260
9.4.5  主頁以及商品列表 263
9.4.6  購物車 266
9.4.7  頁眉、導(dǎo)航條以及頁腳 271
9.5  測試與驗(yàn)證 272
9.5.1  測試數(shù)據(jù) 273
9.5.2  集成測試 274
9.5.3  手工測試 276
第10章  實(shí)戰(zhàn)3:個人云盤 281
10.1  架構(gòu)設(shè)計(jì) 281
10.2  框架搭建 282
10.2.1  MinIO與對象存儲 282
10.2.2  MinIO部署與使用 283
10.2.3  項(xiàng)目依賴項(xiàng)與軟件包結(jié)構(gòu) 283
10.3  數(shù)據(jù)庫設(shè)計(jì) 285
10.4  功能實(shí)現(xiàn) 286
10.4.1  MinIO Java SDK簡介 286
10.4.2  實(shí)現(xiàn)MinIO Starter 290
10.4.3  實(shí)體類 294
10.4.4  用戶注冊 296
10.4.5  用戶登錄 298
10.4.6  云盤主頁 300
10.4.7  頁面配置 306
10.5  測試與驗(yàn)證 308
10.5.1  集成測試 308
10.5.2  手工測試 309

本目錄推薦

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