# Spring 实战(第 5 版)

GitBook 地址：<https://potoyang.gitbook.io/spring-in-action-v5>

Github 地址：<https://github.com/PotoYang/spring-in-action-v5-translate>

源码地址：[spring-in-action-5-samples-master](https://github.com/PotoYang/spring-in-action-v5-translate/tree/master/spring-in-action-5-samples-master)

***

在与 Spring 工作了近 15 年后，已经编写了这本书的 5 个版本（更不用说《Spring Boot 实战》了），你可能会认为，在为这本书撰写序言时，很难想出一些有关 Spring 的令人兴奋的新内容。但事实远非如此！

Spring 生态系统中的每个 Spring 版本、Spring Boot 和所有其他项目都释放了一些新的惊人功能，重新点燃了开发应用程序的乐趣。随着 Spring 5.0 发行版和 Spring Boot 2.0 发行版的出现，Spring 到达了一个具有里程碑意义的节点，可以享受的 Spring 越来越多，因此编写另一版 《Spring 实战》是不需要动脑筋的事情。

Spring 5 的主要特点是对响应式编程的支持，包括 Spring WebFlux，这是一个全新的响应式 web 框架，它借鉴了 Spring MVC 的编程模型，允许开发人员创建可更好地扩展和使用更少线程的 web 应用程序。转向 Spring 应用程序的后端，最新版本的 Spring Data 支持创建响应式的、非阻塞的数据存储库。所有这些都构建在 Project Reactor 的基础上，这是一个用于处理响应式类型的 Java 库。

除了 Spring 5 新的响应式编程特性之外，Spring Boot 2 现在提供了比以前更多的自动配置支持，以及一个完全重新设计的 Actuator，用于查看和操作正在运行的应用程序。

更重要的是，当开发人员希望将他们的单个应用程序分解成离散的微服务时，Spring Cloud 提供了一些工具，使配置和发现微服务变得容易，并且增强了它们的功能，使它们对失败更有弹性。

很高兴地说，这个第五版的 《Spring 实战》涵盖了所有这一切，甚至更多！如果你是一个经验丰富的 Spring 老手，*《Spring 实战》第五版* 将是你的指南，Spring 中一切新的都有提供。另一方面，如果你是 Spring 新手，那么现在是开始行动的最佳时机，前几章将很快让你开始行动！

与 Spring 合作的 15 年是激动人心的。现在我已经完成了《Spring 实战》第五版，我渴望与你们分享这份兴奋！

**进度：**

| 章节                                        | 完成度 |
| ----------------------------------------- | --- |
| Part 1 - Foundational Spring              | 完成  |
| 1 - Getting started with Spring           | 完成  |
| 2 - Developing web application            | 完成  |
| 3 - Working with data                     | 完成  |
| 4 - Securing Spring                       | 完成  |
| 5 - Working with configuration properties | 完成  |
| Part 2 - Integrated Spring                | 完成  |
| 6 - Creating REST service                 | 完成  |
| 7 - Consuming REST service                | 完成  |
| 8 - Sending message asynchronously        | 完成  |
| 9 - Integrating Spring                    | 完成  |
| Part3 - Reactive Spring                   | 完成  |
| 10 - Introducing Reactor                  | 完成  |
| 11 - Developing reactive APIs             | 完成  |
| 12 - Persisting data reactively           | 完成  |
| Part 4 - Cloud-native Spring              | 完成  |
| 13 - Discovering services                 | 完成  |
| 14 - Managing configuration               | 完成  |
| 15 - Handling failure and latency         | 完成  |
| Part 5 - Deployed Spring                  | 完成  |
| 16 - Working with Spring Boot Actuator    | 完成  |
| 17 - Administering Spring                 | 完成  |
| 18 - Monitoring Spring with JMX           | 完成  |
| 19 - Deploying Spring                     | 完成  |


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://potoyang.gitbook.io/spring-in-action-v5/readme.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
