diff --git a/gradle.properties b/gradle.properties index 508f8f8..a2bc37a 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,4 +1,4 @@ JDKVERSIONS=1.8 GROUPSID=com.mingliqiye.utils ARTIFACTID=mingli-utils -VERSIONS=1.1.3 +VERSIONS=1.1.4 diff --git a/src/com/mingliqiye/utils/jackson/Serializers.java b/src/com/mingliqiye/utils/jackson/Serializers.java new file mode 100644 index 0000000..d3bdcec --- /dev/null +++ b/src/com/mingliqiye/utils/jackson/Serializers.java @@ -0,0 +1,23 @@ +package com.mingliqiye.utils.jackson; + +import com.fasterxml.jackson.databind.ObjectMapper; + +public class Serializers { + + /** + * 为ObjectMapper添加自定义序列化器 uuid time + * @see com.mingliqiye.utils.uuid.UUID + * @see com.mingliqiye.utils.time.DateTime + * @param objectMapper ObjectMapper实例,用于注册自定义序列化器 + */ + public static void addSerializers(ObjectMapper objectMapper) { + // 添加UUID相关的序列化器 + com.mingliqiye.utils.uuid.serialization.Jackson.addSerializers( + objectMapper + ); + // 添加时间相关的序列化器 + com.mingliqiye.utils.time.serialization.Jackson.addSerializers( + objectMapper + ); + } +} diff --git a/src/com/mingliqiye/utils/time/serialization/Jackson.java b/src/com/mingliqiye/utils/time/serialization/Jackson.java index 953f794..f8b56dc 100644 --- a/src/com/mingliqiye/utils/time/serialization/Jackson.java +++ b/src/com/mingliqiye/utils/time/serialization/Jackson.java @@ -4,13 +4,12 @@ import com.fasterxml.jackson.core.JsonGenerator; import com.fasterxml.jackson.core.JsonParser; import com.fasterxml.jackson.core.JsonToken; import com.fasterxml.jackson.core.type.WritableTypeId; -import com.fasterxml.jackson.databind.DeserializationContext; -import com.fasterxml.jackson.databind.JsonDeserializer; -import com.fasterxml.jackson.databind.JsonSerializer; -import com.fasterxml.jackson.databind.SerializerProvider; +import com.fasterxml.jackson.databind.*; import com.fasterxml.jackson.databind.jsontype.TypeSerializer; +import com.fasterxml.jackson.databind.module.SimpleModule; import com.mingliqiye.utils.time.DateTime; import com.mingliqiye.utils.time.Formatter; + import java.io.IOException; /** @@ -20,6 +19,19 @@ import java.io.IOException; */ public class Jackson { + /** + * 为ObjectMapper添加自定义的 DateTime 序列化器和反序列化器 + * + * @param objectMapper 用于注册自定义序列化模块的ObjectMapper实例 + */ + public static void addSerializers(ObjectMapper objectMapper) { + // 创建SimpleModule并添加DateTime类型的序列化器和反序列化器 + SimpleModule module = new SimpleModule() + .addSerializer(DateTime.class, new DateTimeJsonSerializerM7()) + .addDeserializer(DateTime.class, new DateTimeJsonDeserializerM7()); + objectMapper.registerModule(module); + } + /** * yyyy-MM-dd HH:mm:ss.SSSSSSS 的反序列化适配器 *
diff --git a/src/com/mingliqiye/utils/uuid/serialization/Jackson.java b/src/com/mingliqiye/utils/uuid/serialization/Jackson.java index 1703acc..9bb2566 100644 --- a/src/com/mingliqiye/utils/uuid/serialization/Jackson.java +++ b/src/com/mingliqiye/utils/uuid/serialization/Jackson.java @@ -4,13 +4,12 @@ import com.fasterxml.jackson.core.JsonGenerator; import com.fasterxml.jackson.core.JsonParser; import com.fasterxml.jackson.core.JsonToken; import com.fasterxml.jackson.core.type.WritableTypeId; -import com.fasterxml.jackson.databind.DeserializationContext; -import com.fasterxml.jackson.databind.JsonDeserializer; -import com.fasterxml.jackson.databind.JsonSerializer; -import com.fasterxml.jackson.databind.SerializerProvider; +import com.fasterxml.jackson.databind.*; import com.fasterxml.jackson.databind.jsontype.TypeSerializer; +import com.fasterxml.jackson.databind.module.SimpleModule; import com.mingliqiye.utils.uuid.UUID; import com.mingliqiye.utils.uuid.UUIDException; + import java.io.IOException; /** @@ -20,6 +19,19 @@ import java.io.IOException; */ public class Jackson { + /** + * 为ObjectMapper添加UUID序列化和反序列化器 + * + * @param objectMapper ObjectMapper实例,用于注册自定义序列化模块 + */ + public static void addSerializers(ObjectMapper objectMapper) { + // 创建SimpleModule并添加UUID的序列化器和反序列化器 + SimpleModule module = new SimpleModule() + .addSerializer(UUID.class, new UUIDJsonSerializer()) + .addDeserializer(UUID.class, new UUIDJsonDeserializer()); + objectMapper.registerModule(module); + } + /** * UUID 反序列化器 *