注册 | 登录读书好,好读书,读好书!
读书网-DuShu.com
当前位置: 首页出版图书科学技术计算机/网络网络与数据通信网络服务从企业级开发到云原生微服务:Spring Boot实战

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

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

定 价:¥108.00

作 者: 汪云飞
出版社: 电子工业出版社
丛编项:
标 签: 暂缺

购买这本书可以去


ISBN: 9787121377921 出版时间: 2020-01-01 包装:
开本: 16开 页数: 504 字数:  

内容简介

  本书以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\t1
1.1 Spring Boot概述\t1
1.2 快速建立Spring Boot应用\t2
1.2.1 安装Java\t2
1.2.2 使用Spring Initializr\t2
1.2.3 第一段代码\t3
1.3 体验Spring Boot\t4
1.3.1 Spring Boot的应用结构\t4
1.3.2 build.gradle\t5
1.3.3 QuickStartApplication\t5
1.3.4 application.properties\t6
1.4 小结\t6
第2章 函数式编程\t7
2.1 了解函数式编程\t7
2.2 Lambda表达式\t7
2.2.1 了解Lambda表达式\t7
2.2.2 把Lambda表达式作为参数\t8
2.3 函数接口\t9
2.3.1 Predicate\t10
2.3.2 Function\t12
2.3.3 Consumer\t14
2.3.4 Supplier\t14
2.3.5 Operator\t15
2.3.6 Comparator\t15
2.3.7 自定义函数接口\t16
2.4 方法引用\t16
2.4.1 构造器方法引用\t16
2.4.2 静态方法引用\t17
2.4.3 实例方法引用\t18
2.4.4 引用特定类的任意对象的方法\t18
2.5 Stream\t18
2.5.1 Stream简介\t19
2.5.2 获得Stream\t19
2.5.3 中间操作\t20
2.5.4 终结操作\t23
2.6 Optional\t27
2.6.1 获得Optional\t28
2.6.2 Optional的用法\t28
2.7 小结\t29
第3章 Spring 5.X基础\t30
3.1 IoC容器\t30
3.2 Spring Bean的配置\t31
3.2.1 注解配置(@Component)\t31
3.2.2 Java配置(@Configuration和@Bean)\t31
3.2.3 依赖注入(Dependency Injection)\t32
3.2.4 运行检验(CommandLineRunner)\t37
3.2.5 Bean的Scope\t38
3.2.6 Bean的生命周期\t40
3.2.7 应用环境\t43
3.2.8 条件配置(@Conditional)\t46
3.2.9 开启配置(@Enable*和@Import)\t47
3.3 对Bean的处理(BeanPostProcessor)\t53
3.4 Spring Aware容器\t54
3.5 Bean之间的事件通信\t57
3.6 Spring EL\t59
3.7 AOP\t61
3.8 注解工作原理\t64
3.8.1 BeanPostProcessor\t64
3.8.2 BeanFactoryPostProcessor\t66
3.8.3 使用AOP\t68
3.8.4 组合元注解\t68
3.9 小结\t68
第4章 深入Spring Boot\t69
4.1 Spring Boot介绍\t69
4.2 Spring Boot的“魔法”\t69
4.2.1 加载自动配置\t69
4.2.2 实现自动配置\t71
4.3 Spring Boot的配置\t73
4.3.1 应用配置\t74
4.3.2 修改默认配置\t76
4.3.3 外部配置\t79
4.4 日志和报告\t91
4.4.1 日志\t91
4.4.2 报告\t93
4.5 多线程任务和计划任务\t94
4.5.1 Task Executor\t94
4.5.2 Task Scheduler\t97
4.6 Gradle插件\t99
4.6.1 依赖\t99
4.6.2 Spring Boot Starter\t100
4.6.3 插件任务\t100
4.7 自定义Starter\t100
4.7.1 包装技术库\t101
4.7.2 Starter的结构\t103
4.7.3 autoconfigure模块\t105
4.7.4 Starter模块\t107
4.7.5 使用Starter\t108
4.8 Spring Boot Actuator\t110
4.8.1 常用端点\t110
4.8.2 自定义\t119
4.8.3 使用Prometheus和Grafana监控指标\t124
4.9 小结\t128
第5章 Spring Web MVC\t129
5.1 Spring Web MVC简介\t129
5.2 用Spring Boot学习Web MVC\t129
5.2.1 核心注解\t129
5.2.2 RESTful服务\t130
5.2.3 @ControllerAdvice\t146
5.2.4 @RestControllerAdvice\t151
5.2.5 JSON定制\t156
5.2.6 RestTemplate\t159
5.3 Web MVC配置\t161
5.3.1 Spring MVC的工作原理\t161
5.3.2 配置MVC\t161
5.3.3 Interceptor\t162
5.3.4 Formatter\t164
5.3.5 HttpMessageConverter\t166
5.3.6 方法参数和返回值处理设置\t169
5.3.7 初始化数据绑定设置\t176
5.3.8 类型转换原理与设置\t176
5.3.9 路径匹配和内容协商\t183
5.3.10 JSON\t188
5.3.11 其他外部属性配置\t189
5.4 Servlet容器\t191
5.4.1 注册Servlet、Filter和Listener\t191
5.4.2 配置Servlet容器\t196
5.5 异步请求\t202
5.5.1 Servlet 3.0 异步返回\t202
5.5.2 HTTP Streaming\t206
5.5.3 HTTP/2\t212
5.6 小结\t214
第6章 数据访问\t215
6.1 Spring Data Repository\t215
6.1.1 DDD与Spring Data Repository\t215
6.1.2 查询方法\t218
6.2 关系数据库――Spring Data JPA\t218
6.2.1 JPA、Hibernate和Spring Data JPA\t218
6.2.2 环境准备\t218
6.2.3 自动配置\t220
6.2.4 定义聚合\t221
6.2.5 定义聚合Repository\t224
6.2.6 查询\t226
6.2.7 事件监听\t238
6.2.8 领域事件\t242
6.2.9 审计功能\t245
6.2.10 Web支持\t246
6.2.11 数据库初始化\t248
6.3 NoSQL――Spring Data Elasticsearch\t252
6.3.1 Elascticsearch简介\t252
6.3.2 环境准备\t252
6.3.3 在Spring Boot中的自动配置\t253
6.3.4 定义聚合\t254
6.3.5 定义聚合Repository\t255
6.3.6 查询\t256
6.4 数据缓存\t261
6.4.1 Spring Boot与缓存\t261
6.4.2 环境准备\t262
6.4.3 使用缓存注解\t264
6.5 小结\t266
第7章 安全控制\t267
7.1 Spring Security的应用\t267
7.1.1 Spring Boot的自动配置\t267
7.1.2 开启Web安全配置\t268
7.1.3 定制Web安全配置\t268
7.1.4 Authentication\t269
7.1.5 Authorization\t281
7.1.6 Spring Data集成\t294
7.2 Spring Security实战\t295
7.3 OAuth 2.0\t301
7.3.1 OAuth 2.0 Authorization Server\t301
7.3.2 OAuth 2.0 Resource Server\t310
7.3.3 OAuth 2.0 Client\t317
7.4 小结\t322
第8章 响应式编程\t323
8.1 Project Reactor\t323
8.1.1 Reactive Streams的基础接口\t323
8.1.2 Flux和Mono\t325
8.2 Spring WebFlux\t327
8.2.1 Spring WebFlux基础\t327
8.2.2 Spring Boot的自动配置\t328
8.2.3 注解控制器\t329
8.2.4 函数式端点\t332
8.2.5 Spring WebFlux的配置\t334
8.3 Reactive NoSQL\t334
8.3.1 响应式Elasticsearch\t335
8.3.2 响应式MongoDB\t339
8.4 Reactive关系型数据库:R2DBC\t342
8.4.1 安装PostgreSQL\t343
8.4.2 Spring Boot的自动配置\t343
8.4.3 示例\t344
8.5 Reactive Spring Security\t347
8.5.1 Reactive Spring Security原理\t347
8.5.2 Spring Boot的自动配置\t347
8.5.3 示例\t348
8.6 小结\t354
第9章 事件驱动\t355
9.1 JMS\t355
9.1.1 安装Apache ActiveMQ Artemis\t355
9.1.2 新建应用\t356
9.1.3 Spring Boot的自动配置\t356
9.1.4 示例\t356
9.1.5 Topic和Queue\t358
9.2 RabbitMQ\t360
9.3 Kafka\t367
9.4 Websocket\t374
9.4.1 STOMP Websocket\t374
9.4.2 Reactive Websocket\t379
9.5 RSocket\t382
9.5.1 新建应用\t382
9.5.2 Spring Boot的自动配置\t383
9.5.3 示例\t383
9.6 小结\t388
第10章 系统集成与批处理\t389
10.1 Spring Integration\t389
10.1.1 Spring Integration基础\t389
10.1.2 Spring Integration Java DSL\t391
10.1.3 示例\t392
10.2 Spring Batch\t395
10.2.1 Spring Batch的流程\t396
10.2.2 Spring Boot的自动配置\t396
10.2.3 示例\t397
10.3 小结\t402
第11章 Spring Cloud与微服务\t403
11.1 微服务基础\t403
11.1.1 微服务和云原生应用\t403
11.1.2 领域驱动设计\t404
11.2 Spring Cloud\t405
11.2.1 服务发现\t405
11.2.2 配置管理\t408
11.2.3 同步服务交互\t412
11.2.4 异步服务交互\t417
11.2.5 响应式异步交互\t427
11.2.6 应用网关:Spring Cloud Gateway\t430
11.2.7 认证授权\t433
11.3 小结\t442
第12章 Kubernetes与微服务\t443
12.1 Kubernetes\t443
12.1.1 安装\t443
12.1.2 Kubernetes基础知识\t445
12.1.3 Helm\t460
12.1.4 DevOps\t463
12.1.5 安装Jenkins\t464
12.1.6 微服务示例\t465
12.1.7 镜像仓库和Dockerfile\t467
12.1.8 使用Helm打包应用\t471
12.1.9 Jenkins流程\t475
12.2 Service Mesh和Istio\t481
12.2.1 安装Istio\t482
12.2.2 微服务示例\t483
12.3 小结\t490

本目录推荐