一步一步學(xué)Spring Boot 微服務(wù)項(xiàng)目實(shí)戰(zhàn) 第2版 版權(quán)信息
- ISBN:9787302542483
- 條形碼:9787302542483 ; 978-7-302-54248-3
- 裝幀:平裝-膠訂
- 冊數(shù):暫無
- 重量:暫無
- 所屬分類:>>
一步一步學(xué)Spring Boot 微服務(wù)項(xiàng)目實(shí)戰(zhàn) 第2版 本書特色
本書深入淺出地介紹了Spring Boot 2.x在Web應(yīng)用開發(fā)中的各種技術(shù)。全書共21章,第1章由零開始,引導(dǎo)讀者快速搭建Spring Boot開發(fā)環(huán)境,為之后Spring Boot的探險(xiǎn)之旅奠定基礎(chǔ)。第2章、第3章、第10章和第13章介紹了Spring Boot的數(shù)據(jù)訪問應(yīng)用,包括Spring Boot集成Druid、Spring Data JPA和MyBatis以及快速訪問MySQL和MongoDB數(shù)據(jù)庫。第4~6章,介紹了Spring Boot集成Thymeleaf模板引擎、事務(wù)及攔截器和監(jiān)聽器的應(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中的注冊、Dubbo的使用、多環(huán)境配置和使用以及在Tomcat中的部署應(yīng)用。第18~20章主要探索Spring Boot的容器化、單元測試以及背后的原理和執(zhí)行流程。第21章以秒殺系統(tǒng)為例,介紹Spring Boot在項(xiàng)目開發(fā)中的應(yīng)用。 本書既介紹了Spring Boot背后的原理和執(zhí)行流程,又突出了Spring Boot與各種熱點(diǎn)技術(shù)的整合應(yīng)用,適用于所有Java編程語言開發(fā)人員、Spring Boot開發(fā)愛好者以及計(jì)算機(jī)專業(yè)的學(xué)生等,也很適合作為培訓(xùn)機(jī)構(gòu)與大專院校的教學(xué)用書。
一步一步學(xué)Spring Boot 微服務(wù)項(xiàng)目實(shí)戰(zhàn) 第2版 內(nèi)容簡介
本書是一本突出實(shí)戰(zhàn)的Spring Boot 2.x專業(yè)著作,由一線知名互聯(lián)網(wǎng)公司資深開發(fā)工程師精心編寫。
本書從零開始,引導(dǎo)讀者循序漸進(jìn)地掌握Spring Boot在Web開發(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ù)測試等當(dāng)前微服務(wù)開發(fā)中的**技術(shù),本書*后還給出了一個(gè)高并發(fā)秒殺系統(tǒng)的開發(fā)項(xiàng)目。
本書的目標(biāo)不僅僅使讀者掌握Spring Boot的使用,同時(shí)能夠掌握在Spring Boot的基礎(chǔ)上整合各種流行技術(shù)開發(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開發(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 測試 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 測試類 11
1.3.4 pom文件 12
1.4 Spring Boot 2.x新特性 14
1.4.1 配置變更 14
1.4.2 第三方類庫升級 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ù)庫 18
2.1 MySQL介紹與安裝 18
2.1.1 MySQL概述 18
2.1.2 MySQL安裝 18
2.2 集成MySQL數(shù)據(jù)庫 19
2.2.1 引入依賴 20
2.2.2 添加數(shù)據(jù)庫配置 20
2.2.3 設(shè)計(jì)表和實(shí)體 20
2.3 集成測試 22
2.3.1 測試用例開發(fā) 22
2.3.2 測試 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 開啟監(jiān)控功能 27
2.4.5 測試 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 增刪改查分頁簡單實(shí)現(xiàn) 39
3.2.5 自定義查詢方法 40
3.3 集成測試 42
3.3.1 測試用例開發(fā) 42
3.3.2 測試 43
3.4 思考題 43
第4章 Thymeleaf模板引擎與集成測試 44
4.1 Thymeleaf模板引擎介紹 44
4.2 使用Thymeleaf模板引擎 45
4.2.1 引入依賴 45
4.2.2 控制層開發(fā) 46
4.2.3 Thymeleaf模板頁面開發(fā) 47
4.3 集成測試 48
4.3.1 測試 48
4.3.2 REST Client工具介紹 49
4.3.3 使用REST Client測試 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 類級別事務(wù) 53
5.2.3 方法級別事務(wù) 54
5.2.4 測試 55
5.3 思考題 56
第6章 使用過濾器和監(jiān)聽器 57
6.1 Spring Boot使用過濾器Filter 57
6.1.1 過濾器Filter介紹 57
6.1.2 過濾器Filter的使用 58
6.1.3 測試 60
6.2 Spring Boot使用監(jiān)聽器Listener 60
6.2.1 監(jiān)聽器Listener介紹 60
6.2.2 監(jiān)聽器Listener的使用 61
6.2.3 測試 62
第7章 集成Redis緩存 63
7.1 Redis緩存介紹 63
7.1.1 Redis概述 63
7.1.2 Redis服務(wù)器安裝 63
7.1.3 Redis緩存測試 65
7.2 Spring Boot集成Redis緩存 71
7.2.1 Spring Boot緩存支持 71
7.2.2 引入依賴 71
7.2.3 添加緩存配置 72
7.2.4 測試用例開發(fā) 72
7.2.5 測試 73
7.3 Redis緩存在Spring Boot中的使用 74
7.3.1 監(jiān)聽器Listener開發(fā) 74
7.3.2 項(xiàng)目啟動(dòng)緩存數(shù)據(jù) 76
7.3.3 更新緩存數(shù)據(jù) 76
7.3.4 測試 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 打印到控制臺 83
8.3.2 記錄到文件 84
8.3.3 測試 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 測試 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 測試 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文件開發(fā) 101
10.2.4 測試 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 測試 114
11.4 Spring Boot異步調(diào)用 118
11.4.1 異步調(diào)用概述 118
11.4.2 @Async使用 118
11.4.3 測試 119
第12章 全局異常處理與Retry重試 122
12.1 全局異常介紹 122
12.2 Spring Boot全局異常使用 123
12.2.1 自定義錯(cuò)誤頁面 123
12.2.2 測試 124
12.2.3 全局異常類開發(fā) 124
12.2.4 測試 127
12.3 Retry重試機(jī)制 127
12.3.1 Retry重試概述 127
12.3.2 Retry重試機(jī)制使用 128
12.3.3 測試 130
第13章 集成MongoDB數(shù)據(jù)庫 131
13.1 MongoDB數(shù)據(jù)庫介紹 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 測試 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 測試 142
14.2.4 數(shù)據(jù)庫用戶授權(quán)登錄 142
14.2.5 測試 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 測試 152
15.3 自定義端點(diǎn) 155
15.3.1 自定義端點(diǎn)EndPoint 155
15.3.2 測試 156
15.3.3 自定義HealthIndicator 157
15.3.4 測試 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ù)端開發(fā) 172
16.2.6 Service服務(wù)注冊 173
16.2.7 Client客戶端開發(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 測試 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 測試 187
17.5 熱部署 188
17.6 思考題 189
第18章 微服務(wù)容器化 191
18.1 Docker概述 191
18.1.1 Docker的優(yōu)勢 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ù)測試 217
19.1 Spring Boot單元測試 217
19.1.1 關(guān)于測試 217
19.1.2 微服務(wù)測試 218
19.2 Spring Boot單元測試 220
19.3 Mockito/PowerMockito測試框架 223
19.3.1 Mockito概述 223
19.3.2 Mockito簡單實(shí)例 224
19.3.3 PowerMock概述 227
19.3.4 PowerMockito簡單實(shí)例 228
19.4 H2內(nèi)存型數(shù)據(jù)庫 231
19.4.1 H2概述 231
19.4.2 Spring Boot集成H2 231
19.5 REST API測試 235
19.5.1 Postman概述 235
19.5.2 Postman的簡單使用 235
19.6 性能測試 238
19.6.1 AB概述 238
19.6.2 AB測試 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)聽器 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 跨域訪問 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)的簡單實(shí)現(xiàn) 284
21.2.1 創(chuàng)建Spring Boot項(xiàng)目 284
21.2.2 庫表設(shè)計(jì)與Model實(shí)體類 285
21.2.3 集成MySQL和JPA 290
21.2.4 Service服務(wù)層的設(shè)計(jì)與開發(fā) 292
21.2.5 Controller控制層的設(shè)計(jì)與開發(fā) 295
21.2.6 前端頁面的設(shè)計(jì)與開發(fā) 297
21.2.7 代碼測試 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)者開發(fā) 307
21.4.4 消費(fè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 降級、限流、拒絕服務(wù) 311
21.6.1 降級 311
21.6.2 限流 312
21.6.3 拒絕服務(wù) 312
21.7 避免單點(diǎn) 312
21.8 總結(jié) 313
參考文獻(xiàn) 314
展開全部
一步一步學(xué)Spring Boot 微服務(wù)項(xiàng)目實(shí)戰(zhàn) 第2版 作者簡介
黃文毅 CSDN博客專家,高級軟件工程師。先后就職于廈門星耀藍(lán)圖、上海美團(tuán)等科技公司,目前就職于廈門美圖科技有限公司,從事Java開發(fā)工作。具有豐富的軟件開發(fā)經(jīng)驗(yàn),熟悉Java、高并發(fā)、大數(shù)據(jù)及相關(guān)軟件架構(gòu)。出版《公布式微服務(wù)架構(gòu):原理與實(shí)踐》《Spring 5企業(yè)級開發(fā)實(shí)戰(zhàn)》(與人合著)《Spring MVC MyBatis快速開發(fā)與項(xiàng)目實(shí)戰(zhàn)》等多部技術(shù)圖書。