书籍详情
Spring核心技术和案例实战
作者:郑天民
出版社:人民邮电出版社
出版时间:2023-04-01
ISBN:9787115594112
定价:¥79.80
购买这本书可以去
内容简介
本书主要介绍基于Spring框架构架企业级应用程序的技术体系和工程实践。全书从Spring概述、Spring Boot、Spring Cloud和响应式Spring等4个方面由浅入深地介绍了Spring。本书首先介绍了Spring框架的基础概念,然后介绍了Spring Boot的核心功能特性,接着介绍了用于构建主流微服务架构的Spring Cloud,后讲解了响应式编程技术。本书通过3个完整的案例来系统展示具体的实现过程。本书面向广大服务端开发人员,读者不需要有很高的技术水平,也不限于特定的开发语言,但熟悉Java EE常用技术并掌握一定的系统设计基本概念有助于更好地理解书中的内容。同时,本书也适合对Spring框架有兴趣的开发人员阅读,希望本书能为读者的日常学习和开发工作带来启发与帮助。
作者简介
郑天民,日本足利工业大学信息工程学硕士。拥有10余年软件行业从业经验,目前在一家大健康领域的创新型科技公司担任CTO,负责产品研发与技术团队管理工作。开发过10余个面向研发人员的技术和管理类培训课程项目,在架构设计和技术管理方面具有丰富的经验和深入的理解。他还是阿里云MVP、腾讯云TVP、TGO鲲鹏会会员。著有《Apache ShardingSphere实战》《Spring响应式微服务:Spring Boot 2 Spring 5 Spring Cloud实战》《系统架构设计》《向技术管理者转型》《微服务设计原理与架构》《微服务架构实战》等图书。
目录
目 录
第 一篇 Spring概述篇
第 1章 直面Spring 2
1.1 Spring容器 2
1.1.1 IoC 2
1.1.2 AOP 5
1.2 Spring家族生态 7
1.3 Spring Boot与Web应用程序 9
1.3.1 剖析一个Spring Web应用程序 9
1.3.2 Spring Boot中的技术组件 12
1.4 Spring Cloud与微服务架构 13
1.4.1 从Spring Boot到Spring Cloud 13
1.4.2 Spring Cloud中的技术组件 14
1.5 Spring 5与响应式编程 15
1.5.1 响应式编程技术 15
1.5.2 响应式Spring中的技术组件 16
1.6 全书架构 17
1.7 本章小结 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 创建和使用自定义配置信息 23
2.2.2 组织和整合配置信息 24
2.3 本章小结 25
第3章 Spring Boot数据访问 26
3.1 JDBC规范 26
3.1.1 JDBC规范中的核心编程对象 26
3.1.2 使用JDBC规范访问数据库 28
3.2 使用JdbcTemplate访问数据库 29
3.2.1 数据模型和Repository层设计 29
3.2.2 使用JdbcTemplate操作数据库 30
3.3 使用Spring Data访问数据库 34
3.3.1 Spring Data抽象 34
3.3.2 Spring Data JPA 35
3.3.3 使用Spring Data JPA访问数据库 39
3.4 本章小结 41
第4章 Spring Boot Web服务 42
4.1 RESTful风格 42
4.2 创建RESTful服务 43
4.2.1 使用基础注解 43
4.2.2 控制请求输入和输出 44
4.3 使用RestTemplate访问HTTP端点 46
4.3.1 创建RestTemplate 46
4.3.2 使用RestTemplate访问Web服务 47
4.3.3 RestTemplate其他使用技巧 50
4.4 本章小结 52
第5章 Spring Boot消息通信 53
5.1 消息通信模型 53
5.2 使用KafkaTemplate集成Kafka 53
5.2.1 Kafka基本架构 54
5.2.2 使用KafkaTemplate集成Kafka 54
5.3 使用JmsTemplate集成ActiveMQ 57
5.3.1 JMS规范与ActiveMQ 57
5.3.2 使用JmsTemplate集成ActiveMQ 58
5.4 使用RabbitTemplate集成RabbitMQ 61
5.4.1 AMQP规范与RabbitMQ 61
5.4.2 使用RabbitTemplate集成RabbitMQ 62
5.5 本章小结 65
第6章 Spring Boot系统监控 66
6.1 使用Actuator组件实现系统监控 66
6.1.1 引入Spring Boot Actuator组件 66
6.1.2 扩展Actuator端点 69
6.2 实现自定义度量指标和Actuator端点 71
6.2.1 Micrometer度量库 71
6.2.2 扩展Metrics端点 73
6.2.3 使用MeterRegistry 74
6.3 本章小结 77
第7章 SpringCSS:Spring Boot案例实战 78
7.1 SpringCSS案例设计 78
7.2 实现案例技术组件 79
7.2.1 实现数据访问 79
7.2.2 实现Web服务 81
7.2.3 实现消息通信 84
7.3 本章小结 92
第三篇 Spring Cloud篇
第8章 Spring Cloud注册中心 94
8.1 注册中心解决方案 94
8.2 使用Spring Eureka构建注册中心 95
8.2.1 构建Eureka服务器集群 95
8.2.2 使用Eureka客户端注册和发现服务 98
8.3 Ribbon与客户端负载均衡 100
8.3.1 理解Ribbon与DiscoveryClient 100
8.3.2 通过@LoadBalanced注解调用服务 102
8.3.3 通过@RibbonClient注解自定义负载均衡策略 103
8.4 本章小结 104
第9章 Spring Cloud服务网关 105
9.1 服务网关解决方案 105
9.2 基于Spring Cloud Gateway构建服务网关 106
9.2.1 Spring Cloud Gateway与服务路由 106
9.2.2 剖析Spring Cloud Gateway中的过滤器 108
9.3 本章小结 109
第 10章 Spring Cloud服务容错 110
10.1 服务容错解决方案 110
10.2 使用Spring Cloud Circuit Breaker实现服务容错 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 本章小结 119
第 11章 Spring Cloud配置中心 120
11.1 配置中心解决方案 120
11.2 基于Spring Cloud Config构建配置中心 121
11.2.1 基于Spring Cloud Config构建配置中心 121
11.2.2 访问Config Server中的配置项 124
11.3 本章小结 125
第 12章 Spring Cloud消息通信 126
12.1 Spring消息通信解决方案 126
12.2 引入Spring Cloud Stream 128
12.2.1 Spring Cloud Stream基本架构 128
12.2.2 Spring Cloud Stream集成Spring消息处理机制 129
12.2.3 Spring Cloud Stream集成消息中间件 130
12.3 使用Spring Cloud Stream实现消息通信 131
12.3.1 实现消息发布者 131
12.3.2 实现消息消费者 133
12.4 Spring Cloud Stream高级主题 135
12.4.1 自定义消息通道 135
12.4.2 使用消费者分组 136
12.4.3 使用消息分区 136
12.5 本章小结 138
第 13章 Spring Cloud服务监控 139
13.1 服务监控解决方案 139
13.2 引入Spring Cloud Sleuth 141
13.3 整合Spring Cloud Sleuth与Zipkin实现可视化监控 142
13.3.1 集成Spring Cloud Sleuth与Zipkin 142
13.3.2 使用Zipkin可视化服务调用链路 143
13.4 创建自定义Span 145
13.4.1 Brave框架简介 145
13.4.2 通过Tracer类创建Span 146
13.4.3 使用注解创建Span 147
13.5 本章小结 148
第 14章 SpringHealth:Spring Cloud案例实战 149
14.1 SpringHealth案例设计 149
14.1.1 微服务业务建模 149
14.1.2 SpringHealth业务模型和服务 150
14.2 实现案例技术组件 152
14.2.1 实现微服务基础设施服务 152
14.2.2 实现服务调用和容错 152
14.2.3 实现消息通信 156
14.2.4 实现自定义服务跟踪 163
14.3 本章小结 164
第四篇 响应式Spring篇
第 15章 响应式编程基础 166
15.1 响应式编程技术体系 166
15.1.1 从传统开发模式到异步执行技术 166
15.1.2 响应式编程实现方法 168
15.1.3 响应式宣言和响应式系统 169
15.2 响应式流与背压 170
15.2.1 流与背压 170
15.2.2 响应式流规范 172
15.3 Spring 5与响应式编程 173
15.3.1 Spring WebFlux 174
15.3.2 Spring Data Reactive 174
15.4 本章小结 175
第 16章 Project Reactor 176
16.1 Project Reactor简介 176
16.2 Flux和Mono 178
16.2.1 通过Flux对象创建响应式流 178
16.2.2 通过Mono对象创建响应式流 180
16.2.3 订阅响应式流 180
16.3 Project Reactor常用操作符 181
16.4 本章小结 186
第 17章 WebFlux和RSocket 187
17.1 WebFlux核心原理 187
17.1.1 从WebMVC到WebFlux 187
17.1.2 对比WebFlux和WebMVC的处理模型 189
17.2 使用WebFlux构建响应式Web服务 191
17.2.1 WebFlux注解式编程模型 192
17.2.2 WebFlux函数式编程模型 193
17.3 使用WebClient消费响应式Web服务 196
17.3.1 创建和配置WebClient 197
17.3.2 使用WebClient访问服务 197
17.4 RSocket高性能网络传输协议 201
17.4.1 RSocket协议 201
17.4.2 使用RSocket实现远程交互 202
17.4.3 RSocket与框架集成 204
17.5 本章小结 205
第 18章 响应式Spring Data 206
18.1 Spring Data和响应式编程 206
18.1.1 全栈式响应式编程 206
18.1.2 响应式数据访问模型 207
18.2 响应式MongoDB集成 209
18.2.1 Spring Data MongoDB Reactive技术栈 210
18.2.2 应用Reactive MongoDB 210
18.3 响应式Redis集成 214
18.3.1 Spring Data Redis Reactive技术栈 214
18.3.2 应用Reactive Redis 214
18.4 R2DBC 218
18.4.1 响应式关系数据访问与R2DBC 218
18.4.2 应用Spring Data R2DBC 218
18.5 本章小结 221
第 19章 ReactiveSpringCSS:响应式Spring案例实战 222
19.1 ReactiveSpringCSS案例设计 222
19.2 实现案例技术组件 223
19.2.1 实现响应式Web服务 223
19.2.2 实现响应式数据访问 227
19.2.3 重构响应式消息通信 230
19.3 本章小结 234
第 一篇 Spring概述篇
第 1章 直面Spring 2
1.1 Spring容器 2
1.1.1 IoC 2
1.1.2 AOP 5
1.2 Spring家族生态 7
1.3 Spring Boot与Web应用程序 9
1.3.1 剖析一个Spring Web应用程序 9
1.3.2 Spring Boot中的技术组件 12
1.4 Spring Cloud与微服务架构 13
1.4.1 从Spring Boot到Spring Cloud 13
1.4.2 Spring Cloud中的技术组件 14
1.5 Spring 5与响应式编程 15
1.5.1 响应式编程技术 15
1.5.2 响应式Spring中的技术组件 16
1.6 全书架构 17
1.7 本章小结 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 创建和使用自定义配置信息 23
2.2.2 组织和整合配置信息 24
2.3 本章小结 25
第3章 Spring Boot数据访问 26
3.1 JDBC规范 26
3.1.1 JDBC规范中的核心编程对象 26
3.1.2 使用JDBC规范访问数据库 28
3.2 使用JdbcTemplate访问数据库 29
3.2.1 数据模型和Repository层设计 29
3.2.2 使用JdbcTemplate操作数据库 30
3.3 使用Spring Data访问数据库 34
3.3.1 Spring Data抽象 34
3.3.2 Spring Data JPA 35
3.3.3 使用Spring Data JPA访问数据库 39
3.4 本章小结 41
第4章 Spring Boot Web服务 42
4.1 RESTful风格 42
4.2 创建RESTful服务 43
4.2.1 使用基础注解 43
4.2.2 控制请求输入和输出 44
4.3 使用RestTemplate访问HTTP端点 46
4.3.1 创建RestTemplate 46
4.3.2 使用RestTemplate访问Web服务 47
4.3.3 RestTemplate其他使用技巧 50
4.4 本章小结 52
第5章 Spring Boot消息通信 53
5.1 消息通信模型 53
5.2 使用KafkaTemplate集成Kafka 53
5.2.1 Kafka基本架构 54
5.2.2 使用KafkaTemplate集成Kafka 54
5.3 使用JmsTemplate集成ActiveMQ 57
5.3.1 JMS规范与ActiveMQ 57
5.3.2 使用JmsTemplate集成ActiveMQ 58
5.4 使用RabbitTemplate集成RabbitMQ 61
5.4.1 AMQP规范与RabbitMQ 61
5.4.2 使用RabbitTemplate集成RabbitMQ 62
5.5 本章小结 65
第6章 Spring Boot系统监控 66
6.1 使用Actuator组件实现系统监控 66
6.1.1 引入Spring Boot Actuator组件 66
6.1.2 扩展Actuator端点 69
6.2 实现自定义度量指标和Actuator端点 71
6.2.1 Micrometer度量库 71
6.2.2 扩展Metrics端点 73
6.2.3 使用MeterRegistry 74
6.3 本章小结 77
第7章 SpringCSS:Spring Boot案例实战 78
7.1 SpringCSS案例设计 78
7.2 实现案例技术组件 79
7.2.1 实现数据访问 79
7.2.2 实现Web服务 81
7.2.3 实现消息通信 84
7.3 本章小结 92
第三篇 Spring Cloud篇
第8章 Spring Cloud注册中心 94
8.1 注册中心解决方案 94
8.2 使用Spring Eureka构建注册中心 95
8.2.1 构建Eureka服务器集群 95
8.2.2 使用Eureka客户端注册和发现服务 98
8.3 Ribbon与客户端负载均衡 100
8.3.1 理解Ribbon与DiscoveryClient 100
8.3.2 通过@LoadBalanced注解调用服务 102
8.3.3 通过@RibbonClient注解自定义负载均衡策略 103
8.4 本章小结 104
第9章 Spring Cloud服务网关 105
9.1 服务网关解决方案 105
9.2 基于Spring Cloud Gateway构建服务网关 106
9.2.1 Spring Cloud Gateway与服务路由 106
9.2.2 剖析Spring Cloud Gateway中的过滤器 108
9.3 本章小结 109
第 10章 Spring Cloud服务容错 110
10.1 服务容错解决方案 110
10.2 使用Spring Cloud Circuit Breaker实现服务容错 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 本章小结 119
第 11章 Spring Cloud配置中心 120
11.1 配置中心解决方案 120
11.2 基于Spring Cloud Config构建配置中心 121
11.2.1 基于Spring Cloud Config构建配置中心 121
11.2.2 访问Config Server中的配置项 124
11.3 本章小结 125
第 12章 Spring Cloud消息通信 126
12.1 Spring消息通信解决方案 126
12.2 引入Spring Cloud Stream 128
12.2.1 Spring Cloud Stream基本架构 128
12.2.2 Spring Cloud Stream集成Spring消息处理机制 129
12.2.3 Spring Cloud Stream集成消息中间件 130
12.3 使用Spring Cloud Stream实现消息通信 131
12.3.1 实现消息发布者 131
12.3.2 实现消息消费者 133
12.4 Spring Cloud Stream高级主题 135
12.4.1 自定义消息通道 135
12.4.2 使用消费者分组 136
12.4.3 使用消息分区 136
12.5 本章小结 138
第 13章 Spring Cloud服务监控 139
13.1 服务监控解决方案 139
13.2 引入Spring Cloud Sleuth 141
13.3 整合Spring Cloud Sleuth与Zipkin实现可视化监控 142
13.3.1 集成Spring Cloud Sleuth与Zipkin 142
13.3.2 使用Zipkin可视化服务调用链路 143
13.4 创建自定义Span 145
13.4.1 Brave框架简介 145
13.4.2 通过Tracer类创建Span 146
13.4.3 使用注解创建Span 147
13.5 本章小结 148
第 14章 SpringHealth:Spring Cloud案例实战 149
14.1 SpringHealth案例设计 149
14.1.1 微服务业务建模 149
14.1.2 SpringHealth业务模型和服务 150
14.2 实现案例技术组件 152
14.2.1 实现微服务基础设施服务 152
14.2.2 实现服务调用和容错 152
14.2.3 实现消息通信 156
14.2.4 实现自定义服务跟踪 163
14.3 本章小结 164
第四篇 响应式Spring篇
第 15章 响应式编程基础 166
15.1 响应式编程技术体系 166
15.1.1 从传统开发模式到异步执行技术 166
15.1.2 响应式编程实现方法 168
15.1.3 响应式宣言和响应式系统 169
15.2 响应式流与背压 170
15.2.1 流与背压 170
15.2.2 响应式流规范 172
15.3 Spring 5与响应式编程 173
15.3.1 Spring WebFlux 174
15.3.2 Spring Data Reactive 174
15.4 本章小结 175
第 16章 Project Reactor 176
16.1 Project Reactor简介 176
16.2 Flux和Mono 178
16.2.1 通过Flux对象创建响应式流 178
16.2.2 通过Mono对象创建响应式流 180
16.2.3 订阅响应式流 180
16.3 Project Reactor常用操作符 181
16.4 本章小结 186
第 17章 WebFlux和RSocket 187
17.1 WebFlux核心原理 187
17.1.1 从WebMVC到WebFlux 187
17.1.2 对比WebFlux和WebMVC的处理模型 189
17.2 使用WebFlux构建响应式Web服务 191
17.2.1 WebFlux注解式编程模型 192
17.2.2 WebFlux函数式编程模型 193
17.3 使用WebClient消费响应式Web服务 196
17.3.1 创建和配置WebClient 197
17.3.2 使用WebClient访问服务 197
17.4 RSocket高性能网络传输协议 201
17.4.1 RSocket协议 201
17.4.2 使用RSocket实现远程交互 202
17.4.3 RSocket与框架集成 204
17.5 本章小结 205
第 18章 响应式Spring Data 206
18.1 Spring Data和响应式编程 206
18.1.1 全栈式响应式编程 206
18.1.2 响应式数据访问模型 207
18.2 响应式MongoDB集成 209
18.2.1 Spring Data MongoDB Reactive技术栈 210
18.2.2 应用Reactive MongoDB 210
18.3 响应式Redis集成 214
18.3.1 Spring Data Redis Reactive技术栈 214
18.3.2 应用Reactive Redis 214
18.4 R2DBC 218
18.4.1 响应式关系数据访问与R2DBC 218
18.4.2 应用Spring Data R2DBC 218
18.5 本章小结 221
第 19章 ReactiveSpringCSS:响应式Spring案例实战 222
19.1 ReactiveSpringCSS案例设计 222
19.2 实现案例技术组件 223
19.2.1 实现响应式Web服务 223
19.2.2 实现响应式数据访问 227
19.2.3 重构响应式消息通信 230
19.3 本章小结 234
猜您喜欢