From a6706fd3c44506cd7fd6acf6413e6ceec38e67f6 Mon Sep 17 00:00:00 2001 From: gewuyou Date: Tue, 24 Jun 2025 17:05:05 +0800 Subject: [PATCH] =?UTF-8?q?feat(context):=20=E6=B7=BB=E5=8A=A0=E9=BB=98?= =?UTF-8?q?=E8=AE=A4=E5=80=BC=E5=BA=8F=E5=88=97=E5=8C=96=E5=99=A8=E5=92=8C?= =?UTF-8?q?=E4=B8=8A=E4=B8=8B=E6=96=87=E6=8C=81=E6=9C=89=E8=80=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 新增 JacksonValueSerializer Bean,作为默认的值序列化器 - 新增 ContextHolder Bean,作为默认的上下文持有者 -两个 Bean 都在缺少其他实现时条件性创建 --- .../ForgeContextAutoConfiguration.kt | 21 ++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/forgeboot-context/forgeboot-context-autoconfigure/src/main/kotlin/com/gewuyou/forgeboot/context/autoconfigure/ForgeContextAutoConfiguration.kt b/forgeboot-context/forgeboot-context-autoconfigure/src/main/kotlin/com/gewuyou/forgeboot/context/autoconfigure/ForgeContextAutoConfiguration.kt index 2052304..e9fa1b1 100644 --- a/forgeboot-context/forgeboot-context-autoconfigure/src/main/kotlin/com/gewuyou/forgeboot/context/autoconfigure/ForgeContextAutoConfiguration.kt +++ b/forgeboot-context/forgeboot-context-autoconfigure/src/main/kotlin/com/gewuyou/forgeboot/context/autoconfigure/ForgeContextAutoConfiguration.kt @@ -36,11 +36,30 @@ import org.springframework.web.reactive.function.client.ClientRequest @Configuration class ForgeContextAutoConfiguration { + /** + * 创建 ValueSerializer Bean,用于在缺少其他实现时提供默认的值序列化器。 + * + * 该方法定义了一个 JacksonValueSerializer 实例作为默认的 ValueSerializer 实现, + * 负责使用 Jackson 库对上下文字段值进行序列化和反序列化操作。 + * + * @param objectMapper 提供 JSON 序列化支持的 ObjectMapper 实例 + * @return 构建完成的 ValueSerializer 实例 + */ @Bean @ConditionalOnMissingBean - fun valueSerializer(objectMapper: ObjectMapper): ValueSerializer{ + fun valueSerializer(objectMapper: ObjectMapper): ValueSerializer { return JacksonValueSerializer(objectMapper) } + + /** + * 创建 ContextHolder Bean,用于在缺少其他实现时提供默认的上下文持有者。 + * + * 该方法定义了一个 ContextHolder 实例作为默认的上下文管理器, + * 负责存储、传递和清理当前线程的上下文字段数据。 + * + * @param valueSerializer 提供值序列化支持的 ValueSerializer 实例 + * @return 构建完成的 ContextHolder 实例 + */ @Bean @ConditionalOnMissingBean fun contextHolder(valueSerializer: ValueSerializer): ContextHolder {