springboot +shrio +redis 项目中意外发现一个exception:java.lang.ClassCastException:....User cannot be cast to cn....User
,一个User对象不能转换成另一个User
方法一:直接在代码上修改 效果不错
利用net.sf.json包 将Object 转化为jsonObject 进而再转化为实体User,解决强转失败问题
方法二:见个别博客上说注释掉热启动,个人对项目修改启动造成麻烦,个人不太建议
修改方法:屏蔽热启动jar包,或修改热启动配置,禁止热启动,
方法三:解决方案就是在resources目录下面创建META_INF文件夹,然后创建spring-devtools.properties文件,文件加上类似下面的配置:
在spring boot项目resources目录下创建一个META-INF文件夹,在META-INF目录下再创建一个
spring-devtools.properties 文件
加入以下代码即可解决
restart.include.companycommonlibs=tk/mybatis.*
方法四:利用反射获取属性
convertObjToEntity(Object redisObj) { ReflectUtils.getFieldValue(redisObj, UserEntity.FIELD_STATUS)+"",0));} 需要每个字段进行遍历,效率太低,这里就不写了。