操作指南
本部分提供了一些在使用 Spring Boot 时经常遇到的“我该如何做…”常见问题的解答。虽然其覆盖面并不全面,但确实涵盖了很多内容。
如果您有特定的问题而我们在此未涉及到,您可能会想查看 stackoverflow.com 看看是否有人已经提供了答案。这也是一个提问新问题的好地方(请使用 spring-boot
标签)。
我们也非常乐意扩展这一部分。如果您想添加一个“操作指南”,请向我们提交一个 pull request。
章节摘要
📄️ Spring Boot 应用
本节包含与 Spring Boot 应用程序直接相关的主题。
📄️ 属性与配置
本节包含关于设置和读取属性及配置设置及其与 Spring Boot 应用程序交互的主题。
📄️ 嵌入式 Web 服务器
每个 Spring Boot Web 应用程序都包含一个嵌入式 Web 服务器。这一特性引发了一系列的操作问题,包括如何更改嵌入式服务器以及如何配置嵌入式服务器。本节将回答这些问题。
📄️ Spring MVC
Spring Boot 提供了多个包含 Spring MVC 的启动器(starter)。需要注意的是,有些启动器是通过依赖关系引入 Spring MVC,而不是直接包含它。本节将回答关于 Spring MVC 和 Spring Boot 的常见问题。
📄️ Jersey
Spring Security 可以用于保护基于 Jersey 的 Web 应用程序,其方式与保护基于 Spring MVC 的 Web 应用程序大致相同。然而,如果你想在 Jersey 中使用 Spring Security 的方法级安全功能,必须配置 Jersey 使用 setStatus(int) 而不是 sendError(int)。这样可以防止 Jersey 在 Spring Security 有机会向客户端报告认证或授权失败之前提交响应。
📄️ HTTP 客户端
Spring Boot 提供了多个与 HTTP 客户端配合使用的启动器。本节将回答与使用这些启动器相关的问题。
📄️ 日志记录
Spring Boot 没有强制性的日志依赖,除了 Commons Logging API,通常由 Spring Framework 的 spring-jcl 模块提供。要使用 Logback,你需要在类路径中包含它和 spring-jcl。推荐的方式是通过 starter 来实现,这些 starter 都依赖于 spring-boot-starter-logging。对于 Web 应用程序,你只需要 spring-boot-starter-web,因为它会传递性地依赖日志 starter。如果你使用 Maven,以下依赖项会为你添加日志功能:
📄️ 数据访问
Spring Boot 提供了多个用于处理数据源的 starter。本节将回答与此相关的问题。
📄️ 数据库初始化
SQL 数据库可以根据你的技术栈以不同的方式进行初始化。当然,如果数据库是一个独立的进程,你也可以手动进行初始化。建议使用单一的机制来生成数据库模式。
📄️ NoSQL
Spring Boot 提供了许多支持 NoSQL 技术的启动器。本节将解答在使用 Spring Boot 与 NoSQL 时出现的问题。
📄️ 消息传递
Spring Boot 提供了多个启动器来支持消息传递。本节回答在使用 Spring Boot 进行消息传递时出现的问题。
📄️ 批量应用程序
当人们在 Spring Boot 应用程序中使用 Spring Batch 时,常常会遇到一些问题。本节将解答这些问题。
📄️ 执行器
Spring Boot 包含了 Spring Boot Actuator。本节将回答在使用过程中经常出现的问题。
📄️ 安全
本节将探讨在使用 Spring Boot 时的安全性问题,包括在使用 Spring Security 与 Spring Boot 时可能出现的问题。
📄️ 热插拔
Spring Boot 支持热交换。本节解答了关于其工作原理的疑问。
📄️ 测试
Spring Boot 包含了许多测试工具和支持类,以及一个专门的 starter,它提供了常见的测试依赖项。本节将回答关于测试的常见问题。
📄️ 构建
Spring Boot 包含适用于 Maven 和 Gradle 的构建插件。本节将回答关于这些插件的常见问题。
📄️ 提前处理
当人们使用 Spring Boot 应用程序的提前编译(AOT)时,常常会遇到一些问题。本节将解答这些疑问。
🗃️ GraalVM 原生应用
2 个项目
📄️ 类数据共享
本节包含有关在 Spring Boot 应用程序中使用类数据共享(Class Data Sharing, CDS)的信息。有关 Spring Boot 对 CDS 支持的概述,请参阅类数据共享。
🗃️ 部署 Spring Boot 应用
3 个项目
📄️ Docker Compose
本节包含与 Spring Boot 中 Docker Compose 支持相关的主题。