在 Spring Boot 中通过 @Value 绑定属性到枚举(不分区大小写)
1、概览 {#1概览} ----------- Spring 提供了自动配置功能,可以用它来绑定组件、配置 Bean 以及从属性源中设置值。 当我们不想硬编码值,而希望使用 *properties* 文件或系统环境提供值时,`@Value` 注解就非常有用。 本文将带你了解如何通过 Spring 自动配置将属性值映射到 `Enum` 实例,不区分大小写。 2、`Conv...
1、概览 {#1概览} ----------- Spring 提供了自动配置功能,可以用它来绑定组件、配置 Bean 以及从属性源中设置值。 当我们不想硬编码值,而希望使用 *properties* 文件或系统环境提供值时,`@Value` 注解就非常有用。 本文将带你了解如何通过 Spring 自动配置将属性值映射到 `Enum` 实例,不区分大小写。 2、`Conv...
1、概览 {#1概览} ----------- 本文将带你了解如何在 [Spring Boot](/spring-boot/) 中把 YAML 属性注入到 `Map`。 2、Spring 中的 YAML 文件 {#2spring-中的-yaml-文件} ----------------------------------------- 使用 [YAML](https://...
1、概览 {#1概览} ----------- [Spring](/spring/) 通过 [Spring AI](https://github.com/spring-projects/spring-ai) 项目正式启用了 AI(人工智能)生成提示功能。本文将带你了解如何在 Spring Boot 应用中集成生成式 AI,以及 Spring AI 如何与模型互动。 2、Sp...
1、概览 {#1概览} ----------- 在许多情况下,可以在 JWT Access Token 添加自定义 Claim,从而在 Token Payload 中包含更多信息。 本文将带你了解如何在 Spring Authorization Server 中为 JWT Access Token 添加资源所有者授权。 2、Spring Authorization Ser...
1、概览 {#1概览} ----------- Spring WebFlux 是一个响应式 Web 框架,它提供了一个非阻塞 Event Loop,可异步处理 I/O 操作。此外,它还使用 `Mono` 和 `Flux` Reactive Stream Publisher 在订阅时发布数据。 这种响应式方式可帮助应用处理大量请求和数据,而无需分配大量资源。 本文将带你了解...
[Spring Boot 3.2.2](https://github.com/spring-projects/spring-boot/releases/tag/v3.2.2) 版本的详细更新内容如下: 🐞 Bug 修复 {#-bug-修复} -------------------- * `SSLBundle` 实现未提供有用的 `toString()` 结果 [#3916...
1、概览 {#1概览} ----------- 本文将带你了解如何使用 Spring Modulith 来监听 Spring Application Event 并自动将其发布到 Kafka Topic。 2、事务操作和 Message Broker {#2事务操作和-message-broker} -------------------------------------...
1、简介 {#1简介} ----------- *gRPC* 是一个高性能的开源 RPC 框架,最初由谷歌开发。它有助于消除样板代码,并在数据中心内外连接多语言服务。该 API 基于 [Protocol Buffer](https://protobuf.dev/),它提供了一个 *protoc* 编译器,用于生成不同支持的语言的代码。 我们可以将 gRPC 视为 *REST...
1、概览 {#1概览} ----------- 本文将带你了解如何在 Spring `WebClient` 中自定义 JSON 的反序列化(Deserialization)。 2、为什么需要自定义反序列化? {#2为什么需要自定义反序列化} -------------------------------- Spring WebFlux 模块中的 Spring `WebCl...
1、概览 {#1概览} ----------- 本文将带你了解如何使用 `ResponseEntity` 设置 HTTP 响应的 Body、Status 和 Header。 2、ResponseEntity {#2responseentity} ----------------------------------- `ResponseEntity` 表示整个 HTTP 响...