存放redis异常Could not write JSON: Java 8 date/time type `java.time.LocalDateTime处理

复制代码
1.首先需要maven引入
<dependency>
            <artifactId>jackson-datatype-jsr310</artifactId>
            <groupId>com.fasterxml.jackson.datatype</groupId>
            <version>2.15.3</version>
 </dependency>

2.示例代码如下

java 复制代码
  private RedisTemplate<String, Object> serializer(RedisTemplate<String, Object> redisTemplate) {
        // LocalDate序列化
        ObjectMapper mapper = new ObjectMapper();
        JavaTimeModule javaTimeModule = new JavaTimeModule();
        // 设置序列化格式
        javaTimeModule.addSerializer(LocalDateTime.class,
                new LocalDateTimeSerializer(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
        mapper.registerModule(javaTimeModule);
        // 使用 FastJsonRedisSerializer 来序列化和反序列化redis 的 value的值
        Jackson2JsonRedisSerializer<Object> fastJsonRedisSerializer = new Jackson2JsonRedisSerializer<>(mapper,Object.class);
        // key 的 String 序列化采用 StringRedisSerializer
        StringRedisSerializer stringRedisSerializer = new StringRedisSerializer();
        redisTemplate.setKeySerializer(stringRedisSerializer);
        redisTemplate.setHashKeySerializer(stringRedisSerializer);
        // value 的值序列化采用 fastJsonRedisSerializer
        redisTemplate.setValueSerializer(fastJsonRedisSerializer);
        redisTemplate.setHashValueSerializer(fastJsonRedisSerializer);

        redisTemplate.afterPropertiesSet();
        return redisTemplate;
    }
相关推荐
侠客行031715 小时前
Mybatis连接池实现及池化模式
java·mybatis·源码阅读
蛇皮划水怪15 小时前
深入浅出LangChain4J
java·langchain·llm
老毛肚17 小时前
MyBatis体系结构与工作原理 上篇
java·mybatis
风流倜傥唐伯虎17 小时前
Spring Boot Jar包生产级启停脚本
java·运维·spring boot
Yvonne爱编码18 小时前
JAVA数据结构 DAY6-栈和队列
java·开发语言·数据结构·python
Re.不晚18 小时前
JAVA进阶之路——无奖问答挑战1
java·开发语言
你这个代码我看不懂18 小时前
@ConditionalOnProperty不直接使用松绑定规则
java·开发语言
fuquxiaoguang18 小时前
深入浅出:使用MDC构建SpringBoot全链路请求追踪系统
java·spring boot·后端·调用链分析
琹箐18 小时前
最大堆和最小堆 实现思路
java·开发语言·算法
__WanG18 小时前
JavaTuples 库分析
java