Spring核心技術(shù)和案例實(shí)戰(zhàn)
定 價(jià):79.8 元
- 作者:鄭天民
- 出版時(shí)間:2023/4/1
- ISBN:9787115594112
- 出 版 社:人民郵電出版社
- 中圖法分類:TP312.8
- 頁(yè)碼:234
- 紙張:
- 版次:01
- 開本:16開
本書主要介紹基于Spring框架構(gòu)架企業(yè)級(jí)應(yīng)用程序的技術(shù)體系和工程實(shí)踐。全書從Spring概述、Spring Boot、Spring Cloud和響應(yīng)式Spring等4個(gè)方面由淺入深地介紹了Spring。本書首先介紹了Spring框架的基礎(chǔ)概念,然后介紹了Spring Boot的核心功能特性,接著介紹了用于構(gòu)建主流微服務(wù)架構(gòu)的Spring Cloud,最后講解了響應(yīng)式編程技術(shù)。本書通過3個(gè)完整的案例來系統(tǒng)展示具體的實(shí)現(xiàn)過程。
本書面向廣大服務(wù)端開發(fā)人員,讀者不需要有很高的技術(shù)水平,也不限于特定的開發(fā)語(yǔ)言,但熟悉Java EE常用技術(shù)并掌握一定的系統(tǒng)設(shè)計(jì)基本概念有助于更好地理解書中的內(nèi)容。同時(shí),本書也適合對(duì)Spring框架有興趣的開發(fā)人員閱讀,希望本書能為讀者的日常學(xué)習(xí)和開發(fā)工作帶來啟發(fā)與幫助。
1.內(nèi)容系統(tǒng)且詳細(xì)。全書內(nèi)容按照直面Spring篇(Spring基礎(chǔ)功能)→Spring Boot篇(通用Web應(yīng)用程序開發(fā))→Spring Cloud篇(微服務(wù)系統(tǒng)開發(fā))→響應(yīng)式Spring篇(響應(yīng)式系統(tǒng)開發(fā))的主線展開,呈遞進(jìn)關(guān)系,內(nèi)容組織體系化,適合階段性的學(xué)習(xí)和應(yīng)用。
2.案例驅(qū)動(dòng)。本書針對(duì)相關(guān)主題提供完整示例,多維度介紹Spring框架的各項(xiàng)技術(shù)體系的實(shí)戰(zhàn)技巧,幫助讀者更快了解Spring所提供的各項(xiàng)解決方案。
3.技術(shù)創(chuàng)新。本書詳細(xì)闡述了響應(yīng)式編程領(lǐng)域中的RSocket協(xié)議以及R2DBC關(guān)系型數(shù)據(jù)庫(kù)訪問機(jī)制,可幫助讀者更深入地了解Spring相關(guān)知識(shí)。
鄭天民,日本足利工業(yè)大學(xué)信息工程學(xué)碩士。擁有10余年軟件行業(yè)從業(yè)經(jīng)驗(yàn),目前在一家大健康領(lǐng)域的創(chuàng)新型科技公司擔(dān)任CTO,負(fù)責(zé)產(chǎn)品研發(fā)與技術(shù)團(tuán)隊(duì)管理工作。開發(fā)過10余個(gè)面向研發(fā)人員的技術(shù)和管理類培訓(xùn)課程項(xiàng)目,在架構(gòu)設(shè)計(jì)和技術(shù)管理方面具有豐富的經(jīng)驗(yàn)和深入的理解。他還是阿里云MVP、騰訊云TVP、TGO鯤鵬會(huì)會(huì)員。著有《Apache ShardingSphere實(shí)戰(zhàn)》《Spring響應(yīng)式微服務(wù):Spring Boot 2 + Spring 5 + Spring Cloud實(shí)戰(zhàn)》《系統(tǒng)架構(gòu)設(shè)計(jì)》《向技術(shù)管理者轉(zhuǎn)型》《微服務(wù)設(shè)計(jì)原理與架構(gòu)》《微服務(wù)架構(gòu)實(shí)戰(zhàn)》等圖書。
目 錄
第 一篇 Spring概述篇
第 1章 直面Spring 2
1.1 Spring容器 2
1.1.1 IoC 2
1.1.2 AOP 5
1.2 Spring家族生態(tài) 7
1.3 Spring Boot與Web應(yīng)用程序 9
1.3.1 剖析一個(gè)Spring Web應(yīng)用程序 9
1.3.2 Spring Boot中的技術(shù)組件 12
1.4 Spring Cloud與微服務(wù)架構(gòu) 13
1.4.1 從Spring Boot到Spring Cloud 13
1.4.2 Spring Cloud中的技術(shù)組件 14
1.5 Spring 5與響應(yīng)式編程 15
1.5.1 響應(yīng)式編程技術(shù) 15
1.5.2 響應(yīng)式Spring中的技術(shù)組件 16
1.6 全書架構(gòu) 17
1.7 本章小結(jié) 18
第二篇 Spring Boot篇
第 2章 Spring Boot配置體系 20
2.1 Spring Boot中的配置體系 20
2.1.1 配置文件與Prof ile 20
2.1.2 代碼控制與Prof ile 22
2.2 自定義配置信息 23
2.2.1 創(chuàng)建和使用自定義配置信息 23
2.2.2 組織和整合配置信息 24
2.3 本章小結(jié) 25
第3章 Spring Boot數(shù)據(jù)訪問 26
3.1 JDBC規(guī)范 26
3.1.1 JDBC規(guī)范中的核心編程對(duì)象 26
3.1.2 使用JDBC規(guī)范訪問數(shù)據(jù)庫(kù) 28
3.2 使用JdbcTemplate訪問數(shù)據(jù)庫(kù) 29
3.2.1 數(shù)據(jù)模型和Repository層設(shè)計(jì) 29
3.2.2 使用JdbcTemplate操作數(shù)據(jù)庫(kù) 30
3.3 使用Spring Data訪問數(shù)據(jù)庫(kù) 34
3.3.1 Spring Data抽象 34
3.3.2 Spring Data JPA 35
3.3.3 使用Spring Data JPA訪問數(shù)據(jù)庫(kù) 39
3.4 本章小結(jié) 41
第4章 Spring Boot Web服務(wù) 42
4.1 RESTful風(fēng)格 42
4.2 創(chuàng)建RESTful服務(wù) 43
4.2.1 使用基礎(chǔ)注解 43
4.2.2 控制請(qǐng)求輸入和輸出 44
4.3 使用RestTemplate訪問HTTP端點(diǎn) 46
4.3.1 創(chuàng)建RestTemplate 46
4.3.2 使用RestTemplate訪問Web服務(wù) 47
4.3.3 RestTemplate其他使用技巧 50
4.4 本章小結(jié) 52
第5章 Spring Boot消息通信 53
5.1 消息通信模型 53
5.2 使用KafkaTemplate集成Kafka 53
5.2.1 Kafka基本架構(gòu) 54
5.2.2 使用KafkaTemplate集成Kafka 54
5.3 使用JmsTemplate集成ActiveMQ 57
5.3.1 JMS規(guī)范與ActiveMQ 57
5.3.2 使用JmsTemplate集成ActiveMQ 58
5.4 使用RabbitTemplate集成RabbitMQ 61
5.4.1 AMQP規(guī)范與RabbitMQ 61
5.4.2 使用RabbitTemplate集成RabbitMQ 62
5.5 本章小結(jié) 65
第6章 Spring Boot系統(tǒng)監(jiān)控 66
6.1 使用Actuator組件實(shí)現(xiàn)系統(tǒng)監(jiān)控 66
6.1.1 引入Spring Boot Actuator組件 66
6.1.2 擴(kuò)展Actuator端點(diǎn) 69
6.2 實(shí)現(xiàn)自定義度量指標(biāo)和Actuator端點(diǎn) 71
6.2.1 Micrometer度量庫(kù) 71
6.2.2 擴(kuò)展Metrics端點(diǎn) 73
6.2.3 使用MeterRegistry 74
6.3 本章小結(jié) 77
第7章 SpringCSS:Spring Boot案例實(shí)戰(zhàn) 78
7.1 SpringCSS案例設(shè)計(jì) 78
7.2 實(shí)現(xiàn)案例技術(shù)組件 79
7.2.1 實(shí)現(xiàn)數(shù)據(jù)訪問 79
7.2.2 實(shí)現(xiàn)Web服務(wù) 81
7.2.3 實(shí)現(xiàn)消息通信 84
7.3 本章小結(jié) 92
第三篇 Spring Cloud篇
第8章 Spring Cloud注冊(cè)中心 94
8.1 注冊(cè)中心解決方案 94
8.2 使用Spring Eureka構(gòu)建注冊(cè)中心 95
8.2.1 構(gòu)建Eureka服務(wù)器集群 95
8.2.2 使用Eureka客戶端注冊(cè)和發(fā)現(xiàn)服務(wù) 98
8.3 Ribbon與客戶端負(fù)載均衡 100
8.3.1 理解Ribbon與DiscoveryClient 100
8.3.2 通過@LoadBalanced注解調(diào)用服務(wù) 102
8.3.3 通過@RibbonClient注解自定義負(fù)載均衡策略 103
8.4 本章小結(jié) 104
第9章 Spring Cloud服務(wù)網(wǎng)關(guān) 105
9.1 服務(wù)網(wǎng)關(guān)解決方案 105
9.2 基于Spring Cloud Gateway構(gòu)建服務(wù)網(wǎng)關(guān) 106
9.2.1 Spring Cloud Gateway與服務(wù)路由 106
9.2.2 剖析Spring Cloud Gateway中的過濾器 108
9.3 本章小結(jié) 109
第 10章 Spring Cloud服務(wù)容錯(cuò) 110
10.1 服務(wù)容錯(cuò)解決方案 110
10.2 使用Spring Cloud Circuit Breaker實(shí)現(xiàn)服務(wù)容錯(cuò) 113
10.2.1 Spring Cloud Circuit Breaker抽象 113
10.2.2 使用Spring Cloud Circuit Breaker集成Hystrix 114
10.2.3 使用Spring Cloud Circuit Breaker集成Resilience4j 117
10.3 本章小結(jié) 119
第 11章 Spring Cloud配置中心 120
11.1 配置中心解決方案 120
11.2 基于Spring Cloud Config構(gòu)建配置中心 121
11.2.1 基于Spring Cloud Config構(gòu)建配置中心 121
11.2.2 訪問Config Server中的配置項(xiàng) 124
11.3 本章小結(jié) 125
第 12章 Spring Cloud消息通信 126
12.1 Spring消息通信解決方案 126
12.2 引入Spring Cloud Stream 128
12.2.1 Spring Cloud Stream基本架構(gòu) 128
12.2.2 Spring Cloud Stream集成Spring消息處理機(jī)制 129
12.2.3 Spring Cloud Stream集成消息中間件 130
12.3 使用Spring Cloud Stream實(shí)現(xiàn)消息通信 131
12.3.1 實(shí)現(xiàn)消息發(fā)布者 131
12.3.2 實(shí)現(xiàn)消息消費(fèi)者 133
12.4 Spring Cloud Stream高級(jí)主題 135
12.4.1 自定義消息通道 135
12.4.2 使用消費(fèi)者分組 136
12.4.3 使用消息分區(qū) 136
12.5 本章小結(jié) 138
第 13章 Spring Cloud服務(wù)監(jiān)控 139
13.1 服務(wù)監(jiān)控解決方案 139
13.2 引入Spring Cloud Sleuth 141
13.3 整合Spring Cloud Sleuth與Zipkin實(shí)現(xiàn)可視化監(jiān)控 142
13.3.1 集成Spring Cloud Sleuth與Zipkin 142
13.3.2 使用Zipkin可視化服務(wù)調(diào)用鏈路 143
13.4 創(chuàng)建自定義Span 145
13.4.1 Brave框架簡(jiǎn)介 145
13.4.2 通過Tracer類創(chuàng)建Span 146
13.4.3 使用注解創(chuàng)建Span 147
13.5 本章小結(jié) 148
第 14章 SpringHealth:Spring Cloud案例實(shí)戰(zhàn) 149
14.1 SpringHealth案例設(shè)計(jì) 149
14.1.1 微服務(wù)業(yè)務(wù)建模 149
14.1.2 SpringHealth業(yè)務(wù)模型和服務(wù) 150
14.2 實(shí)現(xiàn)案例技術(shù)組件 152
14.2.1 實(shí)現(xiàn)微服務(wù)基礎(chǔ)設(shè)施服務(wù) 152
14.2.2 實(shí)現(xiàn)服務(wù)調(diào)用和容錯(cuò) 152
14.2.3 實(shí)現(xiàn)消息通信 156
14.2.4 實(shí)現(xiàn)自定義服務(wù)跟蹤 163
14.3 本章小結(jié) 164
第四篇 響應(yīng)式Spring篇
第 15章 響應(yīng)式編程基礎(chǔ) 166
15.1 響應(yīng)式編程技術(shù)體系 166
15.1.1 從傳統(tǒng)開發(fā)模式到異步執(zhí)行技術(shù) 166
15.1.2 響應(yīng)式編程實(shí)現(xiàn)方法 168
15.1.3 響應(yīng)式宣言和響應(yīng)式系統(tǒng) 169
15.2 響應(yīng)式流與背壓 170
15.2.1 流與背壓 170
15.2.2 響應(yīng)式流規(guī)范 172
15.3 Spring 5與響應(yīng)式編程 173
15.3.1 Spring WebFlux 174
15.3.2 Spring Data Reactive 174
15.4 本章小結(jié) 175
第 16章 Project Reactor 176
16.1 Project Reactor簡(jiǎn)介 176
16.2 Flux和Mono 178
16.2.1 通過Flux對(duì)象創(chuàng)建響應(yīng)式流 178
16.2.2 通過Mono對(duì)象創(chuàng)建響應(yīng)式流 180
16.2.3 訂閱響應(yīng)式流 180
16.3 Project Reactor常用操作符 181
16.4 本章小結(jié) 186
第 17章 WebFlux和RSocket 187
17.1 WebFlux核心原理 187
17.1.1 從WebMVC到WebFlux 187
17.1.2 對(duì)比WebFlux和WebMVC的處理模型 189
17.2 使用WebFlux構(gòu)建響應(yīng)式Web服務(wù) 191
17.2.1 WebFlux注解式編程模型 192
17.2.2 WebFlux函數(shù)式編程模型 193
17.3 使用WebClient消費(fèi)響應(yīng)式Web服務(wù) 196
17.3.1 創(chuàng)建和配置WebClient 197
17.3.2 使用WebClient訪問服務(wù) 197
17.4 RSocket高性能網(wǎng)絡(luò)傳輸協(xié)議 201
17.4.1 RSocket協(xié)議 201
17.4.2 使用RSocket實(shí)現(xiàn)遠(yuǎn)程交互 202
17.4.3 RSocket與框架集成 204
17.5 本章小結(jié) 205
第 18章 響應(yīng)式Spring Data 206
18.1 Spring Data和響應(yīng)式編程 206
18.1.1 全棧式響應(yīng)式編程 206
18.1.2 響應(yīng)式數(shù)據(jù)訪問模型 207
18.2 響應(yīng)式MongoDB集成 209
18.2.1 Spring Data MongoDB Reactive技術(shù)棧 210
18.2.2 應(yīng)用Reactive MongoDB 210
18.3 響應(yīng)式Redis集成 214
18.3.1 Spring Data Redis Reactive技術(shù)棧 214
18.3.2 應(yīng)用Reactive Redis 214
18.4 R2DBC 218
18.4.1 響應(yīng)式關(guān)系數(shù)據(jù)訪問與R2DBC 218
18.4.2 應(yīng)用Spring Data R2DBC 218
18.5 本章小結(jié) 221
第 19章 ReactiveSpringCSS:響應(yīng)式Spring案例實(shí)戰(zhàn) 222
19.1 ReactiveSpringCSS案例設(shè)計(jì) 222
19.2 實(shí)現(xiàn)案例技術(shù)組件 223
19.2.1 實(shí)現(xiàn)響應(yīng)式Web服務(wù) 223
19.2.2 實(shí)現(xiàn)響應(yīng)式數(shù)據(jù)訪問 227
19.2.3 重構(gòu)響應(yīng)式消息通信 230
19.3 本章小結(jié) 234