[202002][Spring 实战][第5版][张卫滨][译]

habuma/spring-in-action-5-samples: Home for example code from Spring in Action 5.

https://github.com/habuma/spring-in-action-5-samples

第 1 部分 Spring 基础

第 1 章 Spring 起步

1.1 什么是 Spring

1.2 初始化 Spring 应用

1.2.1 使用 Spring Tool Suite 初始化 Spring 项目
1.2.2 检查 Spring 项目的结构

1.3 编写 Spring 应用

1.3.1 处理 Web 请求
1.3.2 定义视图
1.3.3 测试控制器
1.3.4 构建和运行应用
1.3.5 了解 Spring Boot DevTools
1.3.6 回顾一下

1.4 俯瞰 Spring 风景线

1.4.1 Spring 核心框架
1.4.2 Spring Boot
1.4.3 Spring Data
1.4.4 Spring Security
1.4.5 Spring Integration 和 Spring Batch
1.4.6 Spring Cloud

1.5 小结

第 2 章 开发 Web 应用

2.1 展现信息

2.1.1 构建领域类
2.1.2 创建控制器类
2.1.3 设计视图

2.2 处理表单提交

2.3 校验表单输入

2.3.1 声明校验规则
2.3.2 在表单绑定的时候执行校验
2.3.3 展现校验错误

2.4 使用视图控制器

2.5 选择视图模板库

2.6 小结

第 3 章 使用数据

3.1 使用 JDBC 读取和写入数据

3.1.1 调整领域对象以适应持久化
3.1.2 使用 JdbcTemplate
3.1.3 定义模式和预加载数据
3.1.4 插入数据

3.2 使用 Spring Data JPA 持久化数据

3.2.1 添加 Spring Data JPA 到项目中
3.2.2 将领域对象标注为实体
3.2.3 声明 JPA repository
3.2.4 自定义 JPA repository

3.3 小结

第 4 章 保护 Spring

4.1 启用 Spring Security

4.2 配置 Spring Security

4.2.1 基于内存的用户存储
4.2.2 基于 JDBC 的用户存储
4.2.3 以 LDAP 作为后端的用户存储
4.2.4 自定义用户认证

4.3 保护 Web 请求

4.3.1 保护请求
4.3.2 创建自定义的登录页
4.3.3 退出
4.3.4 防止跨站请求伪造

4.4 了解用户是谁

4.5 小结

第 5 章 使用配置属性

5.1 细粒度的自动配置

5.1.1 理解 Spring 的环境抽象
5.1.2 配置数据源
5.1.3 配置嵌入式服务器
5.1.4 配置日志
5.1.5 使用特定的属性值

5.2 创建自己的配置属性

5.2.1 定义配置属性的持有者
5.2.2 声明配置属性元数据

5.3 使用 profile 进行配置

5.3.1 定义特定 profile 的属性
5.3.2 激活 profile
5.3.3 使用 profile 条件化地创建 bean

5.4 小结

第 2 部分 Spring 集成

第 6 章 创建 REST 服务

6.1 编写 RESTful 控制器

6.1.1 从服务器中检索数据
6.1.2 发送数据到服务器端
6.1.3 在服务器上更新数据
6.1.4 删除服务器上的数据

6.2 启用超媒体

6.2.1 添加超链接
6.2.2 创建资源装配器
6.2.3 命名嵌套式的关联关系

6.3 启用数据后端服务

6.3.1 调整资源路径和关系名称
6.3.2 分页和排序
6.3.3 添加自定义的端点
6.3.4 为 Spring Data 端点添加自定义的超链接

6.4 小结

第 7 章 消费 REST 服务

7.1 使用 RestTemplate 消费 REST 端点

7.1.1 GET 资源
7.1.2 PUT 资源
7.1.3 DELETE 资源
7.1.4 POST 资源

7.2 使用 Traverson 导航 REST API

7.3 小结

第 8 章 发送异步消息

8.1 使用 JMS 发送消息

8.1.1 搭建 JMS 环境
8.1.2 使用 JmsTemplate 发送消息
8.1.3 接收 JMS 消息

8.2 使用 RabbitMQ 和 AMQP

8.2.1 添加 RabbitMQ 到 Spring 中
8.2.2 通过 RabbitTemplate 发送消息
8.2.3 接收来自 RabbitMQ 的消息

8.3 使用 Kafka 的消息

8.3.1 为 Spring 搭建支持 Kafka 消息的环境
8.3.2 通过 KafkaTemplate 发送消息
8.3.3 编写 Kafka 监听器

8.4 小结

第 9 章 Spring 集成

9.1 声明一个简单的集成流

9.1.1 使用 XML 定义集成流
9.1.2 使用 Java 配置集成流
9.1.3 使用 Spring Integration 的 DSL 配置

9.2 Spring Integration 功能概览

9.2.1 消息通道
9.2.2 过滤器
9.2.3 转换器
9.2.4 路由器
9.2.5 切分器
9.2.6 服务激活器
9.2.7 网关
9.2.8 通道适配器
9.2.9 端点模块

9.3 创建 Email 集成流

9.4 小结

第 3 部分 反应式 Spring

第 10 章 理解反应式编程

10.1 反应式编程概览

10.2 初识 Reactor

10.2.1 绘制反应式流图
10.2.2 添加 Reactor 依赖

10.3 使用常见的反应式操作

10.3.1 创建反应式类型
10.3.2 组合反应式类型
10.3.3 转换和过滤反应式流
10.3.4 在反应式类型上执行逻辑操作

10.4 小结

第 11 章 开发反应式 API

11.1 使用 Spring WebFlux

11.1.1 Spring WebFlux 简介
11.1.2 编写反应式控制器

11.2 定义函数式请求处理器

11.3 测试反应式控制器

11.3.1 测试 GET 请求
11.3.2 测试 POST 请求
11.3.3 使用实时服务器进行测试

11.4 反应式消费 REST API

11.4.1 获取资源
11.4.2 发送资源
11.4.3 删除资源
11.4.4 处理错误
11.4.5 交换请求

11.5 保护反应式 Web API

11.5.1 配置反应式 Web 应用的安全性
11.5.2 配置反应式的用户详情服务

11.6 小结

第 12 章 反应式持久化数据

12.1 理解 Spring Data 的反应式概况

12.1.1 Spring Data 反应式本质论
12.1.2 反应式和非反应式类型之间的转换
12.1.3 开发反应式 repository

12.2 使用反应式的 Cassandra repository

12.2.1 启用 Spring Data Cassandra
12.2.2 理解 Cassandra 的数据模型
12.2.3 将领域对象映射为 Cassandra 持久化
12.2.4 编写反应式 Cassandra repository

12.3 编写反应式的 MongoDB repository

12.3.1 启用 Spring Data MongoDB
12.3.2 将领域对象映射为文档
12.3.3 编写反应式的 MongoDB repository 接口

12.4 小结

第 4 部分 云原生 Spring

第 13 章 注册和发现服务

13.1 思考微服务

13.2 搭建服务注册中心

13.2.1 配置 Eureka
13.2.2 扩展 Eureka

13.3 注册和发现服务

13.3.1 配置 Eureka 客户端属性
13.3.2 消费服务

13.4 小结

第 14 章 管理配置

14.1 共享配置

14.2 运行配置服务器

14.2.1 启用配置服务器
14.2.2 填充配置仓库

14.3 消费共享配置

14.4 提供特定应用和 profile 的属性

14.4.1 提供特定应用的属性
14.4.2 提供来自 profile 的属性

14.5 保持配置属性的私密性

14.5.1 在 Git 中加密属性
14.5.2 在 Vault 中存储私密信息

14.6 在运行时刷新配置属性

14.6.1 手动刷新配置属性
14.6.2 自动刷新配置属性

14.7 小结

第 15 章 处理失败和延迟

15.1 理解断路器模式

15.2 声明断路器

15.2.1 缓解延迟
15.2.2 管理断路器的阈值

15.3 监控失败

15.3.1 Hystrix Dashboard 简介
15.3.2 理解 Hystrix 的线程模型

15.4 聚合多个 Hystrix 流

15.5 小结

第 5 部分 部署 Spring

第 16 章 使用 Spring Boot Actuator

16.1 Actuator 概览

16.1.1 配置 Actuator 的基础路径
16.1.2 启用和禁用 Actuator 端点

16.2 消费 Actuator 端点

16.2.1 获取应用的基础信息
16.2.2 查看配置细节
16.2.3 查看应用的活动
16.2.4 获取应用的指标

16.3 自定义 Actuator

16.3.1 为“/info”端点提供信息
16.3.2 实现自定义的健康指示器
16.3.3 注册自定义的指标
16.3.4 创建自定义端点

16.4 保护 Actuator

16.5 小结

第 17 章 管理 Spring

17.1 使用 Spring Boot Admin

17.1.1 创建 Admin 服务器
17.1.2 注册 Admin 客户端

17.2 探索 Admin 服务器

17.2.1 查看应用基本的健康状况和信息
17.2.2 观察核心指标
17.2.3 探查环境属性
17.2.4 查看和设置日志级别
17.2.5 监控线程
17.2.6 跟踪 HTTP 请求

17.3 保护 Admin 服务器

17.3.1 为 Admin 服务器启用登录功能
17.3.2 为 Actuator 启用认证

17.4 小结

第 18 章 使用 JMX 监控 Spring

18.1 使用 Actuator MBean

18.2 创建自己的 MBean

18.3 发送通知

18.4 小结

第 19 章 部署 Spring

19.1 权衡各种部署方案

19.2 构建和部署 WAR 文件

19.3 推送 JAR 文件到 Cloud Foundry 上

19.4 在 Docker 容器中运行 Spring Boot

19.5 以终为始

19.6 小结

附录 初始化 Spring 应用

A.1 使用 Spring Tool Suite 初始化项目

A.2 使用 IntelliJ IDEA 初始化项目

A.3 使用 NetBeans 初始化项目

A.4 在 start.spring.io 中初始化项目

A.5 使用命令行初始化项目

A.5.1 curl 和 Initializr API

A.5.2 Spring Boot 命令行接口

A.6 使用元框架创建 Spring 应用

A.7 构建和运行项目

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐