feat(context): 添加默认值序列化器和上下文持有者

- 新增 JacksonValueSerializer Bean,作为默认的值序列化器
- 新增 ContextHolder Bean,作为默认的上下文持有者
-两个 Bean 都在缺少其他实现时条件性创建
This commit is contained in:
gewuyou 2025-06-24 17:05:05 +08:00
parent 21b79551a5
commit a6706fd3c4

View File

@ -36,11 +36,30 @@ import org.springframework.web.reactive.function.client.ClientRequest
@Configuration @Configuration
class ForgeContextAutoConfiguration { class ForgeContextAutoConfiguration {
/**
* 创建 ValueSerializer Bean用于在缺少其他实现时提供默认的值序列化器
*
* 该方法定义了一个 JacksonValueSerializer 实例作为默认的 ValueSerializer 实现
* 负责使用 Jackson 库对上下文字段值进行序列化和反序列化操作
*
* @param objectMapper 提供 JSON 序列化支持的 ObjectMapper 实例
* @return 构建完成的 ValueSerializer 实例
*/
@Bean @Bean
@ConditionalOnMissingBean @ConditionalOnMissingBean
fun valueSerializer(objectMapper: ObjectMapper): ValueSerializer { fun valueSerializer(objectMapper: ObjectMapper): ValueSerializer {
return JacksonValueSerializer(objectMapper) return JacksonValueSerializer(objectMapper)
} }
/**
* 创建 ContextHolder Bean用于在缺少其他实现时提供默认的上下文持有者
*
* 该方法定义了一个 ContextHolder 实例作为默认的上下文管理器
* 负责存储传递和清理当前线程的上下文字段数据
*
* @param valueSerializer 提供值序列化支持的 ValueSerializer 实例
* @return 构建完成的 ContextHolder 实例
*/
@Bean @Bean
@ConditionalOnMissingBean @ConditionalOnMissingBean
fun contextHolder(valueSerializer: ValueSerializer): ContextHolder { fun contextHolder(valueSerializer: ValueSerializer): ContextHolder {