现象:
用户登入后,把User放入Redis,对从Redis中取出User对象时出现ClassCastException
解决办法:
POM文件删除spring-boot-devtools引用
<!--<dependency>-->
<!--<groupId>org.springframework.boot</groupId>-->
<!--<artifactId>spring-boot-devtools</artifactId>-->
<!--<optional>true</optional>-->
<!--</dependency>-->
原因:
Springboot为了实现代码热部署破坏了双亲委派模型,导致User的类加载器由AppClassLoader变了Springboot的自定义加载器RestartClassLoader。只有类全称相同且类加载器相同,JVM才认为类是相同的。