一步一步學(xué)Spring Boot 微服務(wù)項(xiàng)目實(shí)戰(zhàn) 第2版 版權(quán)信息
- ISBN:9787302542483
- 條形碼:9787302542483 ; 978-7-302-54248-3
- 裝幀:平裝-膠訂
- 冊(cè)數(shù):暫無(wú)
- 重量:暫無(wú)
- 所屬分類:>>
一步一步學(xué)Spring Boot 微服務(wù)項(xiàng)目實(shí)戰(zhàn) 第2版 本書(shū)特色
本書(shū)深入淺出地介紹了Spring Boot 2.x在Web應(yīng)用開(kāi)發(fā)中的各種技術(shù)。全書(shū)共21章,第1章由零開(kāi)始,引導(dǎo)讀者快速搭建Spring Boot開(kāi)發(fā)環(huán)境,為之后Spring Boot的探險(xiǎn)之旅奠定基礎(chǔ)。第2章、第3章、第10章和第13章介紹了Spring Boot的數(shù)據(jù)訪問(wèn)應(yīng)用,包括Spring Boot集成Druid、Spring Data JPA和MyBatis以及快速訪問(wèn)MySQL和MongoDB數(shù)據(jù)庫(kù)。第4~6章,介紹了Spring Boot集成Thymeleaf模板引擎、事務(wù)及攔截器和監(jiān)聽(tīng)器的應(yīng)用。第7~9章介紹Spring Boot使用Redis緩存和Quartz定時(shí)器、集成Log4J日志框架和發(fā)送Email郵件。第11~12章介紹Spring Boot集成ActiveMQ、異步調(diào)用和全局異常使用。第14~15章介紹Spring Boot應(yīng)用監(jiān)控和應(yīng)用安全Security。第16~17章介紹Spring Boot微服務(wù)在Zookeeper中的注冊(cè)、Dubbo的使用、多環(huán)境配置和使用以及在Tomcat中的部署應(yīng)用。第18~20章主要探索Spring Boot的容器化、單元測(cè)試以及背后的原理和執(zhí)行流程。第21章以秒殺系統(tǒng)為例,介紹Spring Boot在項(xiàng)目開(kāi)發(fā)中的應(yīng)用。 本書(shū)既介紹了Spring Boot背后的原理和執(zhí)行流程,又突出了Spring Boot與各種熱點(diǎn)技術(shù)的整合應(yīng)用,適用于所有Java編程語(yǔ)言開(kāi)發(fā)人員、Spring Boot開(kāi)發(fā)愛(ài)好者以及計(jì)算機(jī)專業(yè)的學(xué)生等,也很適合作為培訓(xùn)機(jī)構(gòu)與大專院校的教學(xué)用書(shū)。
一步一步學(xué)Spring Boot 微服務(wù)項(xiàng)目實(shí)戰(zhàn) 第2版 內(nèi)容簡(jiǎn)介
本書(shū)是一本突出實(shí)戰(zhàn)的Spring Boot 2.x專業(yè)著作,由一線知名互聯(lián)網(wǎng)公司資深開(kāi)發(fā)工程師精心編寫(xiě)。
本書(shū)從零開(kāi)始,引導(dǎo)讀者循序漸進(jìn)地掌握Spring Boot在Web開(kāi)發(fā)中的各種技術(shù),既注重基礎(chǔ)、Spring Boot背后
的原理和執(zhí)行流程,又突出Spring Boot與各種熱點(diǎn)技術(shù)的整合應(yīng)用,如Spring Boot集成MyBatis、ActiveMQ、MongoDB、Redis緩存、Zookeeper、Log4J日志等。此外,還介紹了微服務(wù)的多環(huán)境配置與部署、微服務(wù)的容
器化、微服務(wù)測(cè)試等當(dāng)前微服務(wù)開(kāi)發(fā)中的**技術(shù),本書(shū)*后還給出了一個(gè)高并發(fā)秒殺系統(tǒng)的開(kāi)發(fā)項(xiàng)目。
本書(shū)的目標(biāo)不僅僅使讀者掌握Spring Boot的使用,同時(shí)能夠掌握在Spring Boot的基礎(chǔ)上整合各種流行技術(shù)開(kāi)發(fā)
自己的Web應(yīng)用。
一步一步學(xué)Spring Boot 微服務(wù)項(xiàng)目實(shí)戰(zhàn) 第2版 目錄
目 錄
第1章 **個(gè)Spring Boot項(xiàng)目 1
1.1 Spring Boot開(kāi)發(fā)環(huán)境準(zhǔn)備 1
1.1.1 安裝JDK 1
1.1.2 安裝Intellij IDEA 3
1.1.3 安裝Apache Maven 3
1.2 一分鐘快速搭建Spring Boot項(xiàng)目 5
1.2.1 使用Spring Initializr新建項(xiàng)目 5
1.2.2 測(cè)試 7
1.2.3 Spring Boot三種啟動(dòng)方式 8
1.3 Spring Boot文件目錄介紹 9
1.3.1 工程目錄 9
1.3.2 入口類 10
1.3.3 測(cè)試類 11
1.3.4 pom文件 12
1.4 Spring Boot 2.x新特性 14
1.4.1 配置變更 14
1.4.2 第三方類庫(kù)升級(jí) 14
1.4.3 HTTP/2支持 14
1.4.4 響應(yīng)式Spring編程支持 14
1.4.5 其他新特性 15
1.5 Maven Helper插件的安裝和使用 15
1.5.1 Maven Helper插件安裝 15
1.5.2 Maven Helper插件使用 16
1.6 思考題 16
第2章 集成MySQL數(shù)據(jù)庫(kù) 18
2.1 MySQL介紹與安裝 18
2.1.1 MySQL概述 18
2.1.2 MySQL安裝 18
2.2 集成MySQL數(shù)據(jù)庫(kù) 19
2.2.1 引入依賴 20
2.2.2 添加數(shù)據(jù)庫(kù)配置 20
2.2.3 設(shè)計(jì)表和實(shí)體 20
2.3 集成測(cè)試 22
2.3.1 測(cè)試用例開(kāi)發(fā) 22
2.3.2 測(cè)試 23
2.3.3 Navicat for MySQL客戶端安裝與使用 23
2.3.4 Intellij IDEA連接MySQL 24
2.4 集成Druid 25
2.4.1 Druid概述 25
2.4.2 引入依賴 26
2.4.3 Druid配置 26
2.4.4 開(kāi)啟監(jiān)控功能 27
2.4.5 測(cè)試 29
2.5 HikariCP連接池 29
2.5.1 HikariCP概述 29
2.5.2 HikariCP的使用 30
第3章 集成Spring Data JPA 32
3.1 Spring Data JPA介紹 32
3.1.1 Spring Data JPA介紹 32
3.1.2 核心接口Repository 33
3.1.3 接口繼承關(guān)系圖 34
3.2 集成Spring Data JPA 34
3.2.1 引入依賴 34
3.2.2 繼承JpaRepository 35
3.2.3 服務(wù)層類實(shí)現(xiàn) 37
3.2.4 增刪改查分頁(yè)簡(jiǎn)單實(shí)現(xiàn) 39
3.2.5 自定義查詢方法 40
3.3 集成測(cè)試 42
3.3.1 測(cè)試用例開(kāi)發(fā) 42
3.3.2 測(cè)試 43
3.4 思考題 43
第4章 Thymeleaf模板引擎與集成測(cè)試 44
4.1 Thymeleaf模板引擎介紹 44
4.2 使用Thymeleaf模板引擎 45
4.2.1 引入依賴 45
4.2.2 控制層開(kāi)發(fā) 46
4.2.3 Thymeleaf模板頁(yè)面開(kāi)發(fā) 47
4.3 集成測(cè)試 48
4.3.1 測(cè)試 48
4.3.2 REST Client工具介紹 49
4.3.3 使用REST Client測(cè)試 49
第5章 Spring Boot事務(wù)支持 50
5.1 Spring事務(wù)介紹 50
5.1.1 Spring事務(wù)回顧 50
5.1.2 Spring聲明式事務(wù) 51
5.1.3 Spring注解事務(wù)行為 51
5.2 Spring Boot事務(wù)使用 53
5.2.1 Spring Boot事務(wù)介紹 53
5.2.2 類級(jí)別事務(wù) 53
5.2.3 方法級(jí)別事務(wù) 54
5.2.4 測(cè)試 55
5.3 思考題 56
第6章 使用過(guò)濾器和監(jiān)聽(tīng)器 57
6.1 Spring Boot使用過(guò)濾器Filter 57
6.1.1 過(guò)濾器Filter介紹 57
6.1.2 過(guò)濾器Filter的使用 58
6.1.3 測(cè)試 60
6.2 Spring Boot使用監(jiān)聽(tīng)器Listener 60
6.2.1 監(jiān)聽(tīng)器Listener介紹 60
6.2.2 監(jiān)聽(tīng)器Listener的使用 61
6.2.3 測(cè)試 62
第7章 集成Redis緩存 63
7.1 Redis緩存介紹 63
7.1.1 Redis概述 63
7.1.2 Redis服務(wù)器安裝 63
7.1.3 Redis緩存測(cè)試 65
7.2 Spring Boot集成Redis緩存 71
7.2.1 Spring Boot緩存支持 71
7.2.2 引入依賴 71
7.2.3 添加緩存配置 72
7.2.4 測(cè)試用例開(kāi)發(fā) 72
7.2.5 測(cè)試 73
7.3 Redis緩存在Spring Boot中的使用 74
7.3.1 監(jiān)聽(tīng)器Listener開(kāi)發(fā) 74
7.3.2 項(xiàng)目啟動(dòng)緩存數(shù)據(jù) 76
7.3.3 更新緩存數(shù)據(jù) 76
7.3.4 測(cè)試 77
第8章 集成Log4J日志 79
8.1 Log4J概述 79
8.2 集成Log4J2 81
8.2.1 引入依賴 81
8.2.2 添加Log4J配置 82
8.2.3 創(chuàng)建log4j2.xml文件 82
8.3 使用Log4J記錄日志 83
8.3.1 打印到控制臺(tái) 83
8.3.2 記錄到文件 84
8.3.3 測(cè)試 86
8.4 思考題 87
第9章 Quartz定時(shí)器和發(fā)送Email 88
9.1 使用Quartz定時(shí)器 88
9.1.1 Quartz概述 88
9.1.2 引入依賴 90
9.1.3 定時(shí)器配置文件 90
9.1.4 創(chuàng)建定時(shí)器類 92
9.1.5 Spring Boot掃描配置文件 94
9.1.6 測(cè)試 94
9.2 Spring Boot發(fā)送Email 94
9.2.1 Email介紹 94
9.2.2 引入依賴 95
9.2.3 添加Email配置 95
9.2.4 在定時(shí)器中發(fā)送郵件 96
9.2.5 測(cè)試 99
第10章 集成MyBatis 100
10.1 MyBatis介紹 100
10.2 集成MyBatis的步驟 100
10.2.1 引入依賴 100
10.2.2 添加MyBatis配置 101
10.2.3 Dao層和Mapper文件開(kāi)發(fā) 101
10.2.4 測(cè)試 104
第11章 異步消息與異步調(diào)用 106
11.1 JMS消息概述 106
11.2 Spring Boot集成ActiveMQ 107
11.2.1 ActiveMQ概述 107
11.2.2 ActiveMQ的安裝 108
11.2.3 引入依賴 109
11.2.4 添加ActiveMQ配置 109
11.3 使用ActiveMQ 110
11.3.1 創(chuàng)建生產(chǎn)者 110
11.3.2 創(chuàng)建消費(fèi)者 113
11.3.3 測(cè)試 114
11.4 Spring Boot異步調(diào)用 118
11.4.1 異步調(diào)用概述 118
11.4.2 @Async使用 118
11.4.3 測(cè)試 119
第12章 全局異常處理與Retry重試 122
12.1 全局異常介紹 122
12.2 Spring Boot全局異常使用 123
12.2.1 自定義錯(cuò)誤頁(yè)面 123
12.2.2 測(cè)試 124
12.2.3 全局異常類開(kāi)發(fā) 124
12.2.4 測(cè)試 127
12.3 Retry重試機(jī)制 127
12.3.1 Retry重試概述 127
12.3.2 Retry重試機(jī)制使用 128
12.3.3 測(cè)試 130
第13章 集成MongoDB數(shù)據(jù)庫(kù) 131
13.1 MongoDB數(shù)據(jù)庫(kù)介紹 131
13.1.1 MongoDB的安裝 131
13.1.2 NoSQL Manager for MongoDB客戶端的使用 133
13.2 集成MongoDB 134
13.2.1 引入依賴 134
13.2.2 添加MongoDB配置 134
13.2.3 連接MongoDB 135
13.2.4 測(cè)試 137
第14章 集成Spring Security 138
14.1 Spring Security概述 138
14.2 集成Spring Security的步驟 139
14.2.1 引入依賴 139
14.2.2 配置Spring Security 140
14.2.3 測(cè)試 142
14.2.4 數(shù)據(jù)庫(kù)用戶授權(quán)登錄 142
14.2.5 測(cè)試 149
第15章 Spring Boot應(yīng)用監(jiān)控 150
15.1 應(yīng)用監(jiān)控介紹 150
15.2 使用監(jiān)控 151
15.2.1 引入依賴 151
15.2.2 添加配置 151
15.2.3 測(cè)試 152
15.3 自定義端點(diǎn) 155
15.3.1 自定義端點(diǎn)EndPoint 155
15.3.2 測(cè)試 156
15.3.3 自定義HealthIndicator 157
15.3.4 測(cè)試 160
15.4 保護(hù)Actuator端點(diǎn) 161
第16章 集成Dubbo和Zookeeper 163
16.1 Zookeeper的介紹與安裝 163
16.1.1 Zookeeper概述 163
16.1.2 Zookeeper的安裝與啟動(dòng) 164
16.2 Spring Boot集成Dubbo 165
16.2.1 Dubbo概述 165
16.2.2 服務(wù)與接口拆分思路 167
16.2.3 服務(wù)與接口拆分實(shí)踐 167
16.2.4 正式版發(fā)布 171
16.2.5 Service服務(wù)端開(kāi)發(fā) 172
16.2.6 Service服務(wù)注冊(cè) 173
16.2.7 Client客戶端開(kāi)發(fā) 174
第17章 多環(huán)境配置與部署 175
17.1 多環(huán)境配置概述 175
17.2 多環(huán)境配置的使用 177
17.2.1 添加多個(gè)配置文件 177
17.2.2 配置激活選項(xiàng) 177
17.2.3 測(cè)試 178
17.3 自定義屬性與加載 179
17.3.1 自定義屬性 179
17.3.2 參數(shù)間的引用 181
17.3.3 使用隨機(jī)數(shù) 182
17.4 部署 184
17.4.1 Spring Boot內(nèi)置Tomcat 184
17.4.2 Intellij IDEA配置Tomcat 185
17.4.3 war包部署 187
17.4.4 測(cè)試 187
17.5 熱部署 188
17.6 思考題 189
第18章 微服務(wù)容器化 191
18.1 Docker概述 191
18.1.1 Docker的優(yōu)勢(shì) 191
18.1.2 Docker的基本概念 193
18.1.3 Docker架構(gòu) 194
18.1.4 Docker的安裝 195
18.2 Docker的常用命令 198
18.3 制作與自動(dòng)化構(gòu)建鏡像 205
18.3.1 制作鏡像 205
18.3.2 使用Dockerfile構(gòu)建鏡像 208
18.4 Spring Boot集成Docker 212
第19章 微服務(wù)測(cè)試 217
19.1 Spring Boot單元測(cè)試 217
19.1.1 關(guān)于測(cè)試 217
19.1.2 微服務(wù)測(cè)試 218
19.2 Spring Boot單元測(cè)試 220
19.3 Mockito/PowerMockito測(cè)試框架 223
19.3.1 Mockito概述 223
19.3.2 Mockito簡(jiǎn)單實(shí)例 224
19.3.3 PowerMock概述 227
19.3.4 PowerMockito簡(jiǎn)單實(shí)例 228
19.4 H2內(nèi)存型數(shù)據(jù)庫(kù) 231
19.4.1 H2概述 231
19.4.2 Spring Boot集成H2 231
19.5 REST API測(cè)試 235
19.5.1 Postman概述 235
19.5.2 Postman的簡(jiǎn)單使用 235
19.6 性能測(cè)試 238
19.6.1 AB概述 238
19.6.2 AB測(cè)試 239
第20章 Spring Boot原理解析 241
20.1 回顧入口類 241
20.1.1 DemoApplication入口類 241
20.1.2 @SpringBootApplication的原理 242
20.1.3 SpringApplication的run方法 243
20.1.4 SpringApplicationRunListeners監(jiān)聽(tīng)器 245
20.1.5 ApplicationContextInitializer接口 246
20.1.6 ApplicationRunner與CommandLineRunner 247
20.2 SpringApplication執(zhí)行流程 248
20.3 spring-boot-starter原理 250
20.3.1 自動(dòng)配置條件依賴 250
20.3.2 Bean參數(shù)獲取 255
20.3.3 Bean的發(fā)現(xiàn)與加載 256
20.3.4 自定義starter 263
20.4 跨域訪問(wèn) 269
20.5 優(yōu)雅關(guān)閉 270
20.5.1 Java優(yōu)雅停機(jī) 270
20.5.2 Spring Boot優(yōu)雅停機(jī) 273
20.6 將SSM/Maven項(xiàng)目改造為Spring Boot項(xiàng)目 276
20.6.1 創(chuàng)建Maven項(xiàng)目 276
20.6.2 **種改造方法 278
20.6.3 第二種改造方法 279
20.7 思考題 281
第21章 實(shí)戰(zhàn)高并發(fā)秒殺系統(tǒng) 283
21.1 秒殺系統(tǒng)業(yè)務(wù) 283
21.1.1 什么是秒殺 283
21.1.2 秒殺系統(tǒng)的工作流程 284
21.2 秒殺系統(tǒng)的簡(jiǎn)單實(shí)現(xiàn) 284
21.2.1 創(chuàng)建Spring Boot項(xiàng)目 284
21.2.2 庫(kù)表設(shè)計(jì)與Model實(shí)體類 285
21.2.3 集成MySQL和JPA 290
21.2.4 Service服務(wù)層的設(shè)計(jì)與開(kāi)發(fā) 292
21.2.5 Controller控制層的設(shè)計(jì)與開(kāi)發(fā) 295
21.2.6 前端頁(yè)面的設(shè)計(jì)與開(kāi)發(fā) 297
21.2.7 代碼測(cè)試 300
21.2.8 總結(jié) 301
21.3 秒殺系統(tǒng)讀優(yōu)化 302
21.3.1 高并發(fā)讀優(yōu)化 302
21.3.2 使用Redis緩存 302
21.4 流量削峰 306
21.4.1 流量削峰的原因 306
21.4.2 集成ActiveMQ 306
21.4.3 生產(chǎn)者開(kāi)發(fā) 307
21.4.4 消費(fèi)者開(kāi)發(fā) 308
21.5 業(yè)務(wù)優(yōu)化 310
21.5.1 答題/驗(yàn)證碼 310
21.5.2 分時(shí)分段 311
21.5.3 禁用秒殺按鈕 311
21.6 降級(jí)、限流、拒絕服務(wù) 311
21.6.1 降級(jí) 311
21.6.2 限流 312
21.6.3 拒絕服務(wù) 312
21.7 避免單點(diǎn) 312
21.8 總結(jié) 313
參考文獻(xiàn) 314
展開(kāi)全部
一步一步學(xué)Spring Boot 微服務(wù)項(xiàng)目實(shí)戰(zhàn) 第2版 作者簡(jiǎn)介
黃文毅 CSDN博客專家,高級(jí)軟件工程師。先后就職于廈門(mén)星耀藍(lán)圖、上海美團(tuán)等科技公司,目前就職于廈門(mén)美圖科技有限公司,從事Java開(kāi)發(fā)工作。具有豐富的軟件開(kāi)發(fā)經(jīng)驗(yàn),熟悉Java、高并發(fā)、大數(shù)據(jù)及相關(guān)軟件架構(gòu)。出版《公布式微服務(wù)架構(gòu):原理與實(shí)踐》《Spring 5企業(yè)級(jí)開(kāi)發(fā)實(shí)戰(zhàn)》(與人合著)《Spring MVC MyBatis快速開(kāi)發(fā)與項(xiàng)目實(shí)戰(zhàn)》等多部技術(shù)圖書(shū)。