从企业级开发到云原生微服务:SPRING BOOT实战

本书特色

[

本书以Spring 5.2和Spring Boot 2.2为基础,系统地讲解了在日常企业级开发和微服务开发中面临的大部分的问题,如函数式编程、Spring MVC、Spring Data、Spring Security、响应式编程、事件驱动、Spring Integration、Spring Batch、Spring Cloud、Kubernetes 与微服务等。本书内容由浅入深,适合有Java基础的初级程序员学习。同时,本书还介绍了较深的理论及原理知识,可供中、高级工程师提升使用。本书讲解的所有主题都附有实战案例,读者可快速将相关技术应用于工作实践中。

]

内容简介

[

本书以Spring 5.2和Spring Boot 2.2为基础,系统地讲解了在日常企业级开发和微服务开发中面临的大部分的问题,如函数式编程、Spring MVC、Spring Data、Spring Security、响应式编程、事件驱动、Spring Integration、Spring Batch、Spring Cloud、Kubernetes 与微服务等。本书内容由浅入深,适合有Java基础的初级程序员学习。同时,本书还介绍了较深的理论及原理知识,可供中、不错工程师提升使用。本书讲解的所有主题都附有实战案例,读者可快速将相关技术应用于工作实践中。

]

作者简介

[

汪云飞,开源技术专家,拥有10年以上的JavaEE开发经验。对开源Java框架(Spring、Hibernate/JPA、Spring Boot)、开源GIS(GeoServer、OpenLayers),开源云计算解决方案(IaaS:ClouStack、OpenStack;PaaS:Apache Mesos、Deis、Docker)颇有研究。其撰写的技术博客被大量的阅读和转载。

]

目录

第1章 初识Spring Boot 1
1.1 Spring Boot概述 1
1.2 快速建立Spring Boot应用 2
1.2.1 安装Java 2
1.2.2 使用Spring Initializr 2
1.2.3 **段代码 3
1.3 体验Spring Boot 4
1.3.1 Spring Boot的应用结构 4
1.3.2 build.gradle 5
1.3.3 QuickStartApplication 5
1.3.4 application.properties 6
1.4 小结 6
第2章 函数式编程 7
2.1 了解函数式编程 7
2.2 Lambda表达式 7
2.2.1 了解Lambda表达式 7
2.2.2 把Lambda表达式作为参数 8
2.3 函数接口 9
2.3.1 Predicate 10
2.3.2 Function 12
2.3.3 Consumer 14
2.3.4 Supplier 14
2.3.5 Operator 15
2.3.6 Comparator 15
2.3.7 自定义函数接口 16
2.4 方法引用 16
2.4.1 构造器方法引用 16
2.4.2 静态方法引用 17
2.4.3 实例方法引用 18
2.4.4 引用特定类的任意对象的方法 18
2.5 Stream 18
2.5.1 Stream简介 19
2.5.2 获得Stream 19
2.5.3 中间操作 20
2.5.4 终结操作 23
2.6 Optional 27
2.6.1 获得Optional 28
2.6.2 Optional的用法 28
2.7 小结 29

第3章 Spring 5.X基础 30
3.1 IoC容器 30
3.2 Spring Bean的配置 31
3.2.1 注解配置(@Component) 31
3.2.2 Java配置(@Configuration和@Bean) 31
3.2.3 依赖注入(Dependency Injection) 32
3.2.4 运行检验(CommandLineRunner) 37
3.2.5 Bean的Scope 38
3.2.6 Bean的生命周期 40
3.2.7 应用环境 43
3.2.8 条件配置(@Conditional) 46
3.2.9 开启配置(@Enable*和@Import) 47
3.3 对Bean的处理(BeanPostProcessor) 53
3.4 Spring Aware容器 54
3.5 Bean之间的事件通信 57
3.6 Spring EL 59
3.7 AOP 61
3.8 注解工作原理 64
3.8.1 BeanPostProcessor 64
3.8.2 BeanFactoryPostProcessor 66
3.8.3 使用AOP 68
3.8.4 组合元注解 68
3.9 小结 68

第4章 深入Spring Boot 69
4.1 Spring Boot介绍 69
4.2 Spring Boot的“魔法” 69
4.2.1 加载自动配置 69
4.2.2 实现自动配置 71
4.3 Spring Boot的配置 73
4.3.1 应用配置 74
4.3.2 修改默认配置 76
4.3.3 外部配置 79
4.4 日志和报告 91
4.4.1 日志 91
4.4.2 报告 93
4.5 多线程任务和计划任务 94
4.5.1 Task Executor 94
4.5.2 Task Scheduler 97
4.6 Gradle插件 99
4.6.1 依赖 99
4.6.2 Spring Boot Starter 100
4.6.3 插件任务 100
4.7 自定义Starter 100
4.7.1 包装技术库 101
4.7.2 Starter的结构 103
4.7.3 autoconfigure模块 105
4.7.4 Starter模块 107
4.7.5 使用Starter 108
4.8 Spring Boot Actuator 110
4.8.1 常用端点 110
4.8.2 自定义 119
4.8.3 使用Prometheus和Grafana监控指标 124
4.9 小结 128

第5章 Spring Web MVC 129
5.1 Spring Web MVC简介 129
5.2 用Spring Boot学习Web MVC 129
5.2.1 核心注解 129
5.2.2 RESTful服务 130
5.2.3 @ControllerAdvice 146
5.2.4 @RestControllerAdvice 151
5.2.5 JSON定制 156
5.2.6 RestTemplate 159
5.3 Web MVC配置 161
5.3.1 Spring MVC的工作原理 161
5.3.2 配置MVC 161
5.3.3 Interceptor 162
5.3.4 Formatter 164
5.3.5 HttpMessageConverter 166
5.3.6 方法参数和返回值处理设置 169
5.3.7 初始化数据绑定设置 176
5.3.8 类型转换原理与设置 176
5.3.9 路径匹配和内容协商 183
5.3.10 JSON 188
5.3.11 其他外部属性配置 189
5.4 Servlet容器 191
5.4.1 注册Servlet、Filter和Listener 191
5.4.2 配置Servlet容器 196
5.5 异步请求 202
5.5.1 Servlet 3.0 异步返回 202
5.5.2 HTTP Streaming 206
5.5.3 HTTP/2 212
5.6 小结 214

第6章 数据访问 215
6.1 Spring Data Repository 215
6.1.1 DDD与Spring Data Repository 215
6.1.2 查询方法 218
6.2 关系数据库——Spring Data JPA 218
6.2.1 JPA、Hibernate和Spring Data JPA 218
6.2.2 环境准备 218
6.2.3 自动配置 220
6.2.4 定义聚合 221
6.2.5 定义聚合Repository 224
6.2.6 查询 226
6.2.7 事件监听 238
6.2.8 领域事件 242
6.2.9 审计功能 245
6.2.10 Web支持 246
6.2.11 数据库初始化 248
6.3 NoSQL——Spring Data Elasticsearch 252
6.3.1 Elascticsearch简介 252
6.3.2 环境准备 252
6.3.3 在Spring Boot中的自动配置 253
6.3.4 定义聚合 254
6.3.5 定义聚合Repository 255
6.3.6 查询 256
6.4 数据缓存 261
6.4.1 Spring Boot与缓存 261
6.4.2 环境准备 262
6.4.3 使用缓存注解 264
6.5 小结 266

第7章 安全控制 267
7.1 Spring Security的应用 267
7.1.1 Spring Boot的自动配置 267
7.1.2 开启Web安全配置 268
7.1.3 定制Web安全配置 268
7.1.4 Authentication 269
7.1.5 Authorization 281
7.1.6 Spring Data集成 294
7.2 Spring Security实战 295
7.3 OAuth 2.0 301
7.3.1 OAuth 2.0 Authorization Server 301
7.3.2 OAuth 2.0 Resource Server 310
7.3.3 OAuth 2.0 Client 317
7.4 小结 322

第8章 响应式编程 323
8.1 Project Reactor 323
8.1.1 Reactive Streams的基础接口 323
8.1.2 Flux和Mono 325
8.2 Spring WebFlux 327
8.2.1 Spring WebFlux基础 327
8.2.2 Spring Boot的自动配置 328
8.2.3 注解控制器 329
8.2.4 函数式端点 332
8.2.5 Spring WebFlux的配置 334
8.3 Reactive NoSQL 334
8.3.1 响应式Elasticsearch 335
8.3.2 响应式MongoDB 339
8.4 Reactive关系型数据库:R2DBC 342
8.4.1 安装PostgreSQL 343
8.4.2 Spring Boot的自动配置 343
8.4.3 示例 344
8.5 Reactive Spring Security 347
8.5.1 Reactive Spring Security原理 347
8.5.2 Spring Boot的自动配置 347
8.5.3 示例 348
8.6 小结 354

第9章 事件驱动 355
9.1 JMS 355
9.1.1 安装Apache ActiveMQ Artemis 355
9.1.2 新建应用 356
9.1.3 Spring Boot的自动配置 356
9.1.4 示例 356
9.1.5 Topic和Queue 358
9.2 RabbitMQ 360
9.3 Kafka 367
9.4 Websocket 374
9.4.1 STOMP Websocket 374
9.4.2 Reactive Websocket 379
9.5 RSocket 382
9.5.1 新建应用 382
9.5.2 Spring Boot的自动配置 383
9.5.3 示例 383
9.6 小结 388

第10章 系统集成与批处理 389
10.1 Spring Integration 389
10.1.1 Spring Integration基础 389
10.1.2 Spring Integration Java DSL 391
10.1.3 示例 392
10.2 Spring Batch 395
10.2.1 Spring Batch的流程 396
10.2.2 Spring Boot的自动配置 396
10.2.3 示例 397
10.3 小结 402

第11章 Spring Cloud与微服务 403
11.1 微服务基础 403
11.1.1 微服务和云原生应用 403
11.1.2 领域驱动设计 404
11.2 Spring Cloud 405
11.2.1 服务发现 405
11.2.2 配置管理 408
11.2.3 同步服务交互 412
11.2.4 异步服务交互 417
11.2.5 响应式异步交互 427
11.2.6 应用网关:Spring Cloud Gateway 430
11.2.7 认证授权 433
11.3 小结 442

第12章 Kubernetes与微服务 443
12.1 Kubernetes 443
12.1.1 安装 443
12.1.2 Kubernetes基础知识 445
12.1.3 Helm 460
12.1.4 DevOps 463
12.1.5 安装Jenkins 464
12.1.6 微服务示例 465
12.1.7 镜像仓库和Dockerfile 467
12.1.8 使用Helm打包应用 471
12.1.9 Jenkins流程 475
12.2 Service Mesh和Istio 481
12.2.1 安装Istio 482
12.2.2 微服务示例 483
12.3 小结 490

封面

从企业级开发到云原生微服务:SPRING BOOT实战

书名:从企业级开发到云原生微服务:SPRING BOOT实战

作者:汪云飞

页数:504

定价:¥108.0

出版社:电子工业出版社

出版日期:2019-11-01

ISBN:9787121377921

PDF电子书大小:56MB 高清扫描完整版

百度云下载:http://www.chendianrong.com/pdf

发表评论

邮箱地址不会被公开。 必填项已用*标注