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

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

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

定 價(jià):¥79.00

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

購(gòu)買(mǎi)這本書(shū)可以去


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

內(nèi)容簡(jiǎn)介

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

作者簡(jiǎn)介

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

圖書(shū)目錄

第1章  Spring Boot基礎(chǔ)知識(shí) 1
1.1  Spring與Spring Boot 1
1.1.1  當(dāng)我們談?wù)揝pring時(shí)會(huì)談?wù)撔┦裁?1
1.1.2  什么是Spring Boot 2
1.1.3  Spring Boot的優(yōu)勢(shì) 3
1.2  Spring Boot 2.3開(kāi)發(fā)環(huán)境 4
1.2.1  選擇合適的JDK 4
1.2.2  選擇趁手的IDE 5
1.2.3  選擇適用于大型項(xiàng)目的自動(dòng)化構(gòu)建工具 7
1.3  Spring Initializr初始化項(xiàng)目 8
1.3.1  什么是Spring Initializr 8
1.3.2  開(kāi)始吧!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)建個(gè)Spring Boot項(xiàng)目 18
1.5.1  經(jīng)典“Hello World” 18
1.5.2  使用JUnit 5測(cè)試 19
1.5.3  創(chuàng)建工具類CommonUtil 21
1.5.4  使用JPA進(jìn)行數(shù)據(jù)持久化 22
1.5.5  修改控制器以及對(duì)應(yīng)模板文件 25
1.5.6  發(fā)布HTTP接口 29
1.6  Spring Boot自動(dòng)配置與外部配置 31
1.6.1  自動(dòng)配置 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簡(jiǎn)化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平臺(tái)輸出彩色日志的JANSI 59
2.5  過(guò)濾器與攔截器 59
2.5.1  過(guò)濾器 60
2.5.2  使用過(guò)濾器實(shí)現(xiàn)訪問(wèn)控制 60
2.5.3  攔截器 62
2.5.4  使用攔截器記錄請(qǐng)求參數(shù) 63
2.6  Spring Boot事件 64
2.6.1  事件驅(qū)動(dòng)模型 64
2.6.2  內(nèi)置事件 65
2.6.3  監(jiān)聽(tīng)內(nèi)置事件 65
2.6.4  自定義事件 66
2.6.5  異步事件 68
第3章  創(chuàng)建RESTful Web服務(wù) 69
3.1  HTTP動(dòng)詞 69
3.1.1  構(gòu)建一個(gè)基礎(chǔ)的RESTful Web服務(wù) 70
3.1.2  是GetMapping嗎?是RequestMapping 74
3.2  請(qǐng)求與響應(yīng) 76
3.2.1  HTTP報(bào)文 76
3.2.2  簡(jiǎn)單請(qǐng)求與@RequestParam 77
3.2.3  使用@PathVariable獲取URL中的參數(shù) 79
3.2.4  借助@RequestHeader讀取請(qǐng)求頭 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  高級(jí)驗(yàn)證Spring Validation 84
3.3.3  自定義校驗(yàn) 86
3.4  錯(cuò)誤處理 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ù)庫(kù)與持久化技術(shù) 97
4.1  使用JdbcTemplate訪問(wèn)關(guān)系型數(shù)據(jù)庫(kù) 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ù)庫(kù) 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  級(jí)聯(lián)操作 117
4.2.8  加載類型 117
4.3  Spring Data MongoDB 118
4.3.1  準(zhǔn)備工作 118
4.3.2  使用MongoTemplate訪問(wèn)MongDB 120
4.3.3  使用MongoRepository訪問(wèn)MongoDB 124
4.4  Spring Data Redis 125
4.4.1  準(zhǔn)備工作 125
4.4.2  使用RedisRepository訪問(wèn)Redis 126
4.4.3  使用RedisTemplate訪問(wèn)Redis 128
第5章  應(yīng)用程序安全性 130
5.1  基于Spring Security的注冊(cè)登錄 130
5.1.1  Spring Security簡(jiǎn)介 130
5.1.2  用戶注冊(cè) 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簡(jiǎn)介 156
5.5.2  授權(quán)模式 157
5.5.3  集成OAuth 2.0實(shí)現(xiàn)SSO單點(diǎn)登錄 160
第6章  自動(dòng)化測(cè)試 164
6.1  單元測(cè)試 164
6.1.1  測(cè)試金字塔 164
6.1.2  JUnit基礎(chǔ) 165
6.1.3  JUnit 5簡(jiǎn)介 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  測(cè)試中的模擬行為Mock 179
6.3.1  測(cè)試替身 179
6.3.2  Mockito框架 180
6.4  集成測(cè)試 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開(kāi)發(fā)者工具 206
7.3.1  整合spring-boot-devtools 206
7.3.2  自動(dòng)配置 207
7.3.3  熱部署 207
7.3.4  LiveReload插件支持靜態(tài)資源的及時(shí)更新 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請(qǐng)求升級(jí)至WebSocket的過(guò)程 215
8.3.3  了解WebSocket應(yīng)用場(chǎng)景 216
8.3.4  集成WebSocket 216
8.3.5  使用STOMP協(xié)議實(shí)現(xiàn)消息模塊 218
8.3.6  模塊配置 225
8.3.7  注冊(cè)登錄 227
8.3.8  聊天記錄 230
8.3.9  私聊功能 233
8.4  測(cè)試與驗(yàn)證 238
8.4.1  集成測(cè)試 238
8.4.2  手工測(cè)試 240
第9章  實(shí)戰(zhàn)2:在線商城 245
9.1  架構(gòu)設(shè)計(jì) 245
9.2  框架搭建 246
9.3  數(shù)據(jù)庫(kù)設(shè)計(jì) 247
9.4  功能實(shí)現(xiàn) 248
9.4.1  模板引擎Thymeleaf 249
9.4.2  實(shí)體類 253
9.4.3  用戶注冊(cè) 256
9.4.4  用戶登錄 260
9.4.5  主頁(yè)以及商品列表 263
9.4.6  購(gòu)物車 266
9.4.7  頁(yè)眉、導(dǎo)航條以及頁(yè)腳 271
9.5  測(cè)試與驗(yàn)證 272
9.5.1  測(cè)試數(shù)據(jù) 273
9.5.2  集成測(cè)試 274
9.5.3  手工測(cè)試 276
第10章  實(shí)戰(zhàn)3:個(gè)人云盤(pán) 281
10.1  架構(gòu)設(shè)計(jì) 281
10.2  框架搭建 282
10.2.1  MinIO與對(duì)象存儲(chǔ) 282
10.2.2  MinIO部署與使用 283
10.2.3  項(xiàng)目依賴項(xiàng)與軟件包結(jié)構(gòu) 283
10.3  數(shù)據(jù)庫(kù)設(shè)計(jì) 285
10.4  功能實(shí)現(xiàn) 286
10.4.1  MinIO Java SDK簡(jiǎn)介 286
10.4.2  實(shí)現(xiàn)MinIO Starter 290
10.4.3  實(shí)體類 294
10.4.4  用戶注冊(cè) 296
10.4.5  用戶登錄 298
10.4.6  云盤(pán)主頁(yè) 300
10.4.7  頁(yè)面配置 306
10.5  測(cè)試與驗(yàn)證 308
10.5.1  集成測(cè)試 308
10.5.2  手工測(cè)試 309

本目錄推薦

掃描二維碼
Copyright ? 讀書(shū)網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)