How-to Guides
本节提供了一些在使用 Spring Boot 时经常出现的常见“如何做……”问题的答案。其内容并非详尽无遗,但确实涵盖了很多方面。
如果你遇到这里未涵盖的具体问题,可以查看 stackoverflow.com,看看是否已有人提供了答案。这也是提出新问题的好地方(请使用 spring-boot 标签)。
我们也非常乐意扩展这一部分内容。如果你想添加一篇 “how-to”,请向我们发送一个 pull request。
章节总结
Spring Boot 应用程序
本节包含与 Spring Boot 应用程序直接相关的主题。
Properties and Configuration
本节包含有关设置和读取属性与配置设置,以及它们与 Spring Boot 应用程序交互的主题。
嵌入式 Web 服务器
每个 Spring Boot Web 应用程序都包含一个内嵌的 Web 服务器。这一特性引发了许多“如何做”的问题,包括如何更改内嵌服务器以及如何配置内嵌服务器。本节将回答这些问题。
Spring MVC
Spring Boot 提供了多个包含 Spring MVC 的 starter。请注意,某些 starter 是通过依赖的方式引入 Spring MVC,而不是直接包含它。本节将解答有关 Spring MVC 和 Spring Boot 的常见问题。
Jersey
Spring Security 可以用于保护基于 Jersey 的 Web 应用程序,其方式与保护基于 Spring MVC 的 Web 应用程序非常相似。然而,如果你希望在 Jersey 中使用 Spring Security 的方法级安全(method-level security),则必须配置 Jersey 使用 setStatus(int) 而不是 sendError(int)。这样可以防止 Jersey 在 Spring Security 有机会向客户端报告身份验证或授权失败之前提交响应。
HTTP 客户端
Spring Boot 提供了多个可与 HTTP 客户端配合使用的 starter。本节解答与使用它们相关的问题。
Logging
Spring Boot 除了 Commons Logging API 之外没有强制的日志依赖,而该 API 通常由 Spring Framework 的 spring-jcl 模块提供。要使用 Logback,你需要将其和 spring-jcl 添加到 classpath 中。推荐的做法是通过 starters 来实现,因为所有 starters 都依赖于 spring-boot-starter-logging。对于 Web 应用程序,你只需要引入 spring-boot-starter-web,因为它会通过传递依赖自动引入日志 starter。如果你使用 Maven,以下依赖会为你添加日志功能:
数据访问
Spring Boot 包含了多个用于处理数据源的 starters。本节将解答与此相关的常见问题。
数据库初始化
SQL 数据库的初始化方式取决于你的技术栈。当然,如果数据库是一个独立的进程,你也可以手动进行初始化。建议使用单一的机制来进行 schema 生成。
NoSQL
Spring Boot 提供了多个支持 NoSQL 技术的 starter。本节解答在使用 Spring Boot 与 NoSQL 时出现的问题。
消息传递
Spring Boot 提供了多个 starter 以支持消息传递。本节解答在使用 Spring Boot 进行消息传递时可能出现的问题。
批处理应用程序
当人们在 Spring Boot 应用程序中使用 Spring Batch 时,经常会遇到一些问题。本节将解答这些问题。
Actuator
Spring Boot 包含了 Spring Boot Actuator。本节解答了在使用过程中经常出现的问题。
Security
本节解答了在使用 Spring Boot 时有关安全性的常见问题,包括在 Spring Boot 中使用 Spring Security 时出现的问题。
热插拔
Spring Boot 支持热交换(hot swapping)。本节回答有关其工作原理的问题。
测试
Spring Boot 提供了许多测试工具和辅助类,以及一个专用的 starter,用于引入常见的测试依赖。本节将解答有关测试的常见问题。
构建
Spring Boot 包含了用于 Maven 和 Gradle 的构建插件。本节回答有关这些插件的常见问题。
Ahead-of-Time Processing
当人们使用 Spring Boot 应用程序的提前编译(ahead-of-time)处理时,经常会遇到一些问题。本节将解答这些问题。
GraalVM 原生应用
2 个项目
AOT Cache
本节包含有关在 Spring Boot 应用程序中使用 AOT 缓存的信息。有关 Spring Boot 对 AOT 缓存支持的概述,请参阅 AOT Cache。
部署 Spring Boot 应用
3 个项目
Docker Compose
本节包含与 Spring Boot 中的 Docker Compose 支持相关的主题。