Fork me on GitHub

DefaultSerializer requires a Serializable payload but received an object of type [select.system.dto.User]

一、问题描述

在实现redis缓存对象的时候执行语句valueOperations.set(user1.getUserName() , user1); 时候出现了这个错误

二、原因分析 :

经百度查询是说需要序列化接口,要缓存的 Java 对象必须实现 Serializable 接口,因为 Spring 会将对象先序列化再存入 Redis,将缓存实体类继承 Serializable。

把对象转换为字节序列的过程称为对象的序列化。

把字节序列恢复为对象的过程称为对象的反序列化。

三、解决方案

将实体对象进行修改,让实体对象实现序列化接口,如下:

public class User implements Serializable{
//对象实体属性部分
}

至此,结束。

posted @ 2021-02-19 10:03  叶语婷  阅读(1839)  评论(0编辑  收藏  举报