From 8a6e148d6c325e801e6231474a1ef02e5bcf69de Mon Sep 17 00:00:00 2001 From: Timi Date: Wed, 8 Apr 2026 11:50:27 +0800 Subject: [PATCH] add ObjectMapper arg for RedisSerializers.jacksonSerializer --- .../imyeyu/spring/util/RedisSerializers.java | 20 ++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/imyeyu/spring/util/RedisSerializers.java b/src/main/java/com/imyeyu/spring/util/RedisSerializers.java index bb157ed..b0a56ef 100644 --- a/src/main/java/com/imyeyu/spring/util/RedisSerializers.java +++ b/src/main/java/com/imyeyu/spring/util/RedisSerializers.java @@ -87,19 +87,29 @@ public class RedisSerializers { /** * Json 序列化 * - * @param 数据类型 + * @param 数据类型 * @param clazz 数据类型 * @return Redis 序列化器 */ public static RedisSerializer jacksonSerializer(Class clazz) { - return new RedisSerializer<>() { + return jacksonSerializer(new ObjectMapper(), clazz); + } - private static final ObjectMapper JACKSON = new ObjectMapper(); + /** + * Json 序列化 + * + * @param 数据类型 + * @param mapper 序列化对象 + * @param clazz 数据类型 + * @return Redis 序列化器 + */ + public static RedisSerializer jacksonSerializer(ObjectMapper mapper, Class clazz) { + return new RedisSerializer<>() { @Override public byte[] serialize(T object) throws SerializationException { try { - return JACKSON.writeValueAsString(object).getBytes(StandardCharsets.UTF_8); + return mapper.writeValueAsString(object).getBytes(StandardCharsets.UTF_8); } catch (JsonProcessingException e) { throw new RuntimeException(e); } @@ -111,7 +121,7 @@ public class RedisSerializers { return null; } try { - return JACKSON.readValue(new String(bytes, StandardCharsets.UTF_8), clazz); + return mapper.readValue(new String(bytes, StandardCharsets.UTF_8), clazz); } catch (IOException e) { throw new RuntimeException(e); }