shiro中devtools:java.lang.ClassCastException: cn.model.User cannot be cast to cn.model.User 实体转实体

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));} 需要每个字段进行遍历,效率太低,这里就不写了。

猜你喜欢

转载自blog.csdn.net/qq_39507276/article/details/88363207