书名页
版权页
前言
第1章 初识Spring Boot
1.1 Spring Boot概述
1.2 快速建立Spring Boot应用
1.2.1 安装Java
1.2.2 使用Spring Initializr
1.2.3 第一段代码
1.3 体验Spring Boot
1.3.1 Spring Boot的应用结构
1.3.2 build.gradle
1.3.3 QuickStartApplication
1.3.4 application.properties
1.4 小结
第2章 函数式编程
2.1 了解函数式编程
2.2 Lambda表达式
2.2.1 了解Lambda表达式
2.2.2 把Lambda表达式作为参数
2.3 函数接口
2.3.1 Predicate
2.3.2 Function
2.3.3 Consumer
2.3.4 Supplier
2.3.5 Operator
2.3.6 Comparator
2.3.7 自定义函数接口
2.4 方法引用
2.4.1 构造器方法引用
2.4.2 静态方法引用
2.4.3 实例方法引用
2.4.4 引用特定类的任意对象的方法
2.5 Stream
2.5.1 Stream简介
2.5.2 获得Stream
2.5.3 中间操作
2.5.4 终结操作
2.6 Optional
2.6.1 获得Optional
2.6.2 Optional的用法
2.7 小结
第3章 Spring 5.X基础
3.1 IoC容器
3.2 Spring Bean的配置
3.2.1 注解配置(@Component)
3.2.2 Java配置(@Configuration和@Bean)
3.2.3 依赖注入(Dependency Injection)
3.2.4 运行检验(CommandLineRunner)
3.2.5 Bean的Scope
3.2.6 Bean的生命周期
3.2.7 应用环境
3.2.8 条件配置(@Conditional)
3.2.9 开启配置(@Enable*和@Import)
3.3 对Bean的处理(BeanPostProcessor)
3.4 Spring Aware容器
3.5 Bean之间的事件通信
3.6 Spring EL
3.7 AOP
3.8 注解工作原理
3.8.1 BeanPostProcessor
3.8.2 BeanFactoryPostProcessor
3.8.3 使用AOP
3.8.4 组合元注解
3.9 小结
第4章 深入Spring Boot
4.1 Spring Boot介绍
4.2 Spring Boot的“魔法”
4.2.1 加载自动配置
4.2.2 实现自动配置
4.3 Spring Boot的配置
4.3.1 应用配置
4.3.2 修改默认配置
4.3.3 外部配置
4.4 日志和报告
4.4.1 日志
4.4.2 报告
4.5 多线程任务和计划任务
4.5.1 Task Executor
4.5.2 Task Scheduler
4.6 Gradle插件
4.6.1 依赖
4.6.2 Spring Boot Starter
4.6.3 插件任务
4.7 自定义Starter
4.7.1 包装技术库
4.7.2 Starter的结构
4.7.3 autoconfigure模块
4.7.4 Starter模块
4.7.5 使用Starter
4.8 Spring Boot Actuator
4.8.1 常用端点
4.8.2 自定义
4.8.3 使用Prometheus和Grafana监控指标
4.9 小结
第5章 Spring Web MVC
5.1 Spring Web MVC简介
5.2 用Spring Boot学习Web MVC
5.2.1 核心注解
5.2.2 RESTful服务
5.2.3 @ControllerAdvice
5.2.4 @RestControllerAdvice
5.2.5 JSON定制
5.2.6 RestTemplate
5.3 Web MVC配置
5.3.1 Spring MVC的工作原理
5.3.2 配置MVC
5.3.3 Interceptor
5.3.4 Formatter
5.3.5 HttpMessageConverter
5.3.6 方法参数和返回值处理设置
5.3.7 初始化数据绑定设置
5.3.8 类型转换原理与设置
5.3.9 路径匹配和内容协商
5.3.10 JSON
5.3.11 其他外部属性配置
5.4 Servlet容器
5.4.1 注册Servlet、Filter和Listener
5.4.2 配置Servlet容器
5.5 异步请求
5.5.1 Servlet 3.0 异步返回
5.5.2 HTTP Streaming
5.5.3 HTTP/2
5.6 小结
第6章 数据访问
6.1 Spring Data Repository
6.1.1 DDD与Spring Data Repository
6.1.2 查询方法
6.2 关系数据库——Spring Data JPA
6.2.1 JPA、Hibernate和Spring Data JPA
6.2.2 环境准备
6.2.3 自动配置
6.2.4 定义聚合
6.2.5 定义聚合Repository
6.2.6 查询
6.2.7 事件监听
6.2.8 领域事件
6.2.9 审计功能
6.2.10 Web支持
6.2.11 数据库初始化
6.3 NoSQL——Spring Data Elasticsearch
6.3.1 Elasticsearch简介
6.3.2 环境准备
6.3.3 自动配置
6.3.4 定义聚合
6.3.5 定义聚合Repository
6.3.6 查询
6.4 数据缓存
6.4.1 Spring Boot与缓存
6.4.2 环境准备
6.4.3 使用缓存注解
6.5 小结
第7章 安全控制
7.1 Spring Security的应用
7.1.1 Spring Boot的自动配置
7.1.2 开启Web安全配置
7.1.3 定制Web安全配置
7.1.4 Authentication
7.1.5 Authorization
7.1.6 Spring Data集成
7.2 Spring Security实战
7.3 OAuth 2.0
7.3.1 OAuth 2.0 Authorization Server
7.3.2 OAuth 2.0 Resource Server
7.3.3 OAuth 2.0 Client
7.4 小结
第8章 响应式编程
8.1 Project Reactor
8.1.1 Reactive Streams的基础接口
8.1.2 Flux和Mono
8.2 Spring WebFlux
8.2.1 Spring WebFlux基础
8.2.2 Spring Boot的自动配置
8.2.3 注解控制器
8.2.4 函数式端点
8.2.5 Spring WebFlux的配置
8.3 Reactive NoSQL
8.3.1 响应式Elasticsearch
8.3.2 响应式MongoDB
8.4 Reactive关系型数据库:R2DBC
8.4.1 安装PostgreSQL
8.4.2 Spring Boot的自动配置
8.4.3 示例
8.5 Reactive Spring Security
8.5.1 Reactive Spring Security原理
8.5.2 Spring Boot的自动配置
8.5.3 示例
8.6 小结
第9章 事件驱动
9.1 JMS
9.1.1 安装Apache ActiveMQ Artemis
9.1.2 新建应用
9.1.3 Spring Boot的自动配置
9.1.4 示例
9.1.5 Topic和Queue
9.2 RabbitMQ
9.3 Kafka
9.4 Websocket
9.4.1 STOMP Websocket
9.4.2 Reactive Websocket
9.5 RSocket
9.5.1 新建应用
9.5.2 Spring Boot的自动配置
9.5.3 示例
9.6 小结
第10章 系统集成与批处理
10.1 Spring Integration
10.1.1 Spring Integration基础
10.1.2 Spring Integration Java DSL
10.1.3 示例
10.2 Spring Batch
10.2.1 Spring Batch的流程
10.2.2 Spring Boot的自动配置
10.2.3 示例
10.3 小结
第11章 Spring Cloud与微服务
11.1 微服务基础
11.1.1 微服务和云原生应用
11.1.2 领域驱动设计
11.2 Spring Cloud
11.2.1 服务发现
11.2.2 配置管理
11.2.3 同步服务交互
11.2.4 异步服务交互
11.2.5 响应式异步交互
11.2.6 应用网关:Spring Cloud Gateway
11.2.7 认证授权
11.3 小结
第12章 Kubernetes与微服务
12.1 Kubernetes
12.1.1 安装
12.1.2 Kubernetes基础知识
12.1.3 Helm
12.1.4 DevOps
12.1.5 安装Jenkins
12.1.6 微服务示例
12.1.7 镜像仓库和Dockerfile
12.1.8 使用Helm打包应用
12.1.9 Jenkins流程
12.2 Service Mesh和Istio
12.2.1 安装Istio
12.2.2 微服务示例
12.3 小结