社区
Web 开发
帖子详情
springboot shiro 热部署 类转换异常问题
fclangzily
2018-08-05 10:07:03
框架用的是springboot shiro和redis。
在登录时获取用户信息,发生类转换异常。
SysUser user = (SysUser) subject.getPrincipal();
网上找了一大圈,没实质性进展,见到有人说是热部署的问题,所以在pom里把热部署去掉了,问题解决。
但是去掉热部署很不方便啊,又找不到解决办法。
这个怎么破?求各位大神帮忙……
...全文
380
3
打赏
收藏
springboot shiro 热部署 类转换异常问题
框架用的是springboot shiro和redis。 在登录时获取用户信息,发生类转换异常。 SysUser user = (SysUser) subject.getPrincipal(); 网上找了一大圈,没实质性进展,见到有人说是热部署的问题,所以在pom里把热部署去掉了,问题解决。 但是去掉热部署很不方便啊,又找不到解决办法。 这个怎么破?求各位大神帮忙……
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
帅凯凯
2021-03-21
打赏
举报
回复
用其他的热部署插件
verejava
2018-08-24
打赏
举报
回复
ORM 微持久框架
http://www.verejava.com/?section_id=1704463330451
TroubleBoy丶
2018-08-09
打赏
举报
回复
热部署与很多框架冲突,热部署有个禁用System.setProperty("spring.devtools.restart.enabled", "false"),在SpringApplication.run这个主方法里,你开发的时候注释就行了,测试的时候就去掉注释
SpringBoot
.
Shiro
.Mybatis快速整合教程
课程目标手把手教你整合
SpringBoot
+Mybatis适用人群适合有Java基础的学员。课程掌握后可以使用
Shiro
搭建权限项目,掌握
Shiro
的核心知识,包括认证、授权、会话管理、加密等课程简介
SpringBoot
越来越火了,
SpringBoot
集成其他技术目前是比较热门的课题,根据收到的网友反馈希望能有相关课程出来,于是利用休息时间制作了本套小教程,通过观看本视频你可以掌握
SpringBoot
+Mybatis整合技术,并且遇到
问题
如何去排除bug,真正做到授人以鱼不如授人以渔。如果公司需要做权限系统,目标是中高级java工程,技术经理,技术负责人,就必须要会这个.本课程讲解了
shiro
权限验证在web环境中的使用。适合具有spring+springMVC+mybatis开发web网站基础的编程人员学习网站权限开发。课程讲解由浅入深,从静态权限到动态角色菜单的分配和维护。适用于开发企业管理后 台、oa系统等。软件环境使用:jdk1.8+tomcat8.5+mysql+
shiro
1.2+spring4+mybatis3+easyui
springboot
+
shiro
+redis出现
类
转换
异常
问题
今天使用bootdo框架搭建环境,由于每次修改代码都要重启IDE,为了方便就打开了
热部署
,然后就遇到了一个很神奇的
问题
。 登录成功,直接报
类
转换
异常
: 通常只有
类
名和
类
加载器一样,JVM才会判断两个
类
相同,报这样的错,那肯定
类
加载器不一样了,于是打印一下: 果然,发现从redis取出来的实体
类
是AppClassLoader这个
类
加载器,查看
SpringBoot
DevTools源码会发现,重...
springboot
+devtools+
shiro
-redis整合出现ClassCastException
异常
上次在https://blog.csdn.net/feinifi/article/details/84990003这篇文章中,提到过
springboot
整合
shiro
时,使用redis做缓存管理,那么会用到
shiro
-redis这个依赖,那么
问题
来了,
热部署
+
shiro
-redis会导致:我们登录时存入在session中的用户信息,在我们再次取出来转为User时,报错:classcastexcep...
06.
SpringBoot
高级应用——
热部署
实现、
异常
处理、单元测试和整合
Shiro
一、
热部署
为了提高我们的开发效率,我们可以放开IDEA中的
SpringBoot
项目的
热部署
操作 1.放开配置 在IDEA中默认是没有放开
热部署
操作的,我们需要手动的放开设置 2.注册 Ctrl+Shift+Alt+/ 快捷键 ,会出现一个弹出界面,选择Registry 3.添加devtools依赖 <!-- 添加
热部署
的加载 --> <dependency> <groupId>org.springframew
Springboot
热部署
及
热部署
过程中导致的
问题
参考资料 : https://blog.csdn.net/isea533/article/details/70495714 spring-boot-devtools原理: 使用了两个ClassLoader,一个Classloader加载那些不会改变的
类
(第三方Jar包),另一个ClassLoader加载会更改的
类
,称为restart ClassLoader,这样在有代码更改的时候,原来的restart ClassLoader被丢弃,重新创建一个restart ClassLoader,由于需要加载的
类
Web 开发
81,092
社区成员
341,718
社区内容
发帖
与我相关
我的任务
Web 开发
Java Web 开发
复制链接
扫一扫
分享
社区描述
Java Web 开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章