Spring MVC Async 和 WebFlux
1、概览 {#1概览} ----------- 本文将带你了解 Spring Async 和 Spring WebFlux 之间的区别。 2、场景 {#2场景} ----------- 本文分别用 Spring Async 和 Spring WebFlux 来实现一个简单的 Web 应用。 Web 请求会通过一个延迟时间为 200 毫秒的 Filter,然后 Contr...
1、概览 {#1概览} ----------- 本文将带你了解 Spring Async 和 Spring WebFlux 之间的区别。 2、场景 {#2场景} ----------- 本文分别用 Spring Async 和 Spring WebFlux 来实现一个简单的 Web 应用。 Web 请求会通过一个延迟时间为 200 毫秒的 Filter,然后 Contr...
本文将带你了解如何在 Spring Boot 应用中配置优雅停机。 1、优雅停机 {#1优雅停机} --------------- 从 [Spring Boot 2.3](https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-2.3-Release-Notes#graceful-shutdown) 开...
1、概览 {#1概览} ----------- [Spring Boot](/spring-boot/) 中的一个常见做法是使用外部配置来定义属性。这样,就可以在不同的环境中使用相同的应用程序代码。 外部配置可以使用 properties 文件、YAML 文件、环境变量和命令行参数。 本文将带你了解 properties 文件和 YAML 文件的主要区别。 2、Prop...
1、概览 {#1概览} ----------- [Spring Boot](/spring-boot/) 提供了几种不同的方法来检查运行中的应用及其组件的状态和健康状况。在这些方法中,`HealthContributor` 和 `HealthIndicator` API 是值得注意的两种。 本文将带你了解这些 API 的原理以及如何向它们提供自定义信息。 2、依赖 {#2...
1、简介 {#1简介} ----------- 本文将带你了解 [Spring WebFlux](/spring/web-reactive.html#spring-web-reactive) 响应式应用中的并发。 2、响应式编程的动机 {#2响应式编程的动机} ----------------------- 一个典型的 Web 应用由多个复杂的交互部分组成。其中许多交互在...
1、概览 {#1概览} ----------- 本文将带你了解如何使用 Spring Security 构建 OAuth 2.0 资源服务器(使用 JWT 和 Opaque Token,这两种由 Spring Security 支持的 Bearer Token)。 2、背景介绍 {#2背景介绍} --------------- ### 2.1、JWT 和 Opaque T...
1、概览 {#1概览} ----------- 本文将带你了解 Spring 中 `@PathVariable` 注解的作用和用法。 简单地说,`@PathVariable` 注解可用于处理请求 URI 映射中的模板变量,并将其绑定到 Controller 方法参数。 2、示例映射 {#2示例映射} --------------- `@PathVariable` 注解的...
1、概览 {#1概览} ----------- Flyway 迁移并不总是一帆风顺行,本文将带你了解迁移失败后的恢复方案。 2、设置 {#2设置} ----------- 从基本的 Spring Boot 配置 Flyway 开始。它依赖 [`flyway-core`](https://mvnrepository.com/artifact/org.flywaydb/fly...
1、概览 {#1概览} ----------- 在 Spring 3.0 之前,XML 是定义和配置 Bean 的唯一方法。Spring 3.0 引入了 [JavaConfig](https://docs.spring.io/spring-javaconfig/docs/1.0.0.M4/reference/html/),允许我们使用 Java 类配置 Bean。不过,如今有...
1、概览 {#1概览} ----------- 通过 Cron 表达式,我们可以安排任务在特定日期和时间定期运行。Cron 表达式在 Unix 中推出后,其他基于 Unix 的操作系统和软件库(包括 [Spring](/spring/))都采用了它的任务调度方法。 本文将带你了解基于 Unix 操作系统的 Cron 表达式与 Spring Cron 之间的区别。 2、Un...