SpringBoot中Redis解决LocalDateTime序列化与反序列化不一致问题
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer;
import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer;
import java.time.LocalDateTime;
// 使用Jackson的注解来自定义LocalDateTime的序列化和反序列化
public class CustomLocalDateTimeMixin {
@JsonSerialize(using = LocalDateTimeSerializer.class)
@JsonDeserialize(using = LocalDateTimeDeserializer.class)
private LocalDateTime dateTime;
public LocalDateTime getDateTime() {
return dateTime;
}
public void setDateTime(LocalDateTime dateTime) {
this.dateTime = dateTime;
}
}
这段代码定义了一个混入类(Mixin),用于自定义LocalDateTime
的序列化和反序列化。在序列化时使用LocalDateTimeSerializer
,在反序列化时使用LocalDateTimeDeserializer
。这样,在Spring Boot应用中使用Redis作为缓存数据库时,就可以正确地存储和读取LocalDateTime
类型的数据。
评论已关闭