自己看看就行了系列之 ~~ java拦截器和过滤器无法注入bean的解决方案
故事背景:
最近在做一个融媒体的项目,登录框架选用shiro结合jwt,在整个业务逻辑中需要在过滤器中注入RedisTemplate的bean,试了好多方法都没成功注入,总是为null,最后终于在一篇文章下找到了解决方案:大概意思是pringbean确实是在拦截器之前已经注入到ioc中了,但是注解的方式不支持servlet,所以也就无法通过注解获取bean,解决办法就是放弃注解的方式,直接从ioc中获取spring的bean,代码如下:
ServletContext servletContext = request.getServletContext();
ApplicationContext context = WebApplicationContextUtils.getWebApplicationContext(servletContext);
RedisTemplate redisTemplate = (RedisTemplate)context.getBean("redisTemplate");
在使用此方式之前要确定已经将bean注入到IOC中了!!!!!!!!!!
在融媒体项目中,采用Shiro结合JWT的登录框架,遇到过滤器中无法注入RedisTemplate Bean的问题。本文介绍了解决方案,即通过ServletContext从IOC容器中直接获取Spring Bean,确保业务逻辑正常运行。
9714

被折叠的 条评论
为什么被折叠?



