DefaultSerializer requires a Serializable payload but received an object of type [select.system.dto.
一、问题描述
在实现redis缓存对象的时候执行语句valueOperations.set(user1.getUserName() , user1); 时候出现了这个错误
二、原因分析 :
经百度查询是说需要序列化接口,要缓存的 Java 对象必须实现 Serializable 接口,因为 Spring 会将对象先序列化再存入 Redis,将缓存实体类继承 Serializable。
把对象转换为字节序列的过程称为对象的序列化。
把字节序列恢复为对象的过程称为对象的反序列化。
三、解决方案
将实体对象进行修改,让实体对象实现序列化接口,如下:
public class User implements Serializable{ //对象实体属性部分 }
至此,结束。