在如何在Filter 中注入
来源:互联网 发布:js获取button的值 编辑:程序博客网 时间:2024/05/02 01:19
今天在做项目的过程中想在filter中注入RedisTemplate,发现使用@Autowired注解报java.lang.NullPointerException。
这是因为filter和springmvc共存在web容器中,filter的初始化和spring容器是摩云关系的,所以会 注入失败。
那么如何在filter中注入RedisTemplate呢?实例如下
public class SessionFilter implements Filter { // 声明一个redisTemplate RedisTemplate redisTemplate; public void destroy() { } public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { // 获取容器 HttpServletRequest req = (HttpServletRequest) request; ServletContext sc = req.getSession().getServletContext(); XmlWebApplicationContext cxt = (XmlWebApplicationContext) WebApplicationContextUtils.getWebApplicationContext(sc); // 从容器中获取redisTemplate if(cxt != null && cxt.getBean("redisTemplate") != null && redisTemplate == null) redisTemplate = (RedisTemplate) cxt.getBean("redisTemplate"); Object user = redisTemplate.opsForValue().get("sessionId"); } @Override public void init(FilterConfig filterConfig) throws ServletException { }}
先在代码中获取到XmlWebApplicationContext ,再从容器中获取实例即可
阅读全文
0 0
- 在如何在Filter 中注入
- 如何在filter中注入bean
- 如何在filter中注入bean
- 在Filter中注入Service
- 如何在Java的Filter中注入Service???
- 在Java Filter 中注入 Service方案一
- 如何在filter中拿到spring容器
- filter过滤器在项目中如何使用
- 如何让servelt和Filter注入到spring容器或者在servlet中调用spring中的bean
- 如何在程序中防止SQL注入
- 详解如何在postgresql中注入
- 如何在Django模板中注入全局变量
- 如何在PHP中防止SQL注入?
- 如何在开发中避免SQL注入
- 如何在PHP中防止SQL注入?
- SpringMVC中在Filter中如何获取ApplicationContext对象
- 通过spring在filter注入bean(DelegatingFilterProxy与servlet filter)
- 通过spring在filter注入bean(DelegatingFilterProxy与servlet filter) .
- 四大行、城商行等银行都在使用什么数据库?
- ActiveMQ入门实例
- Redis
- 文章标题
- 动态语言和静态语言的区别
- 在如何在Filter 中注入
- Mac OS 使用openssl生成RSA公钥和公钥
- jsoup教程001-简介与介绍
- 常见的Python 2 和 3 差别
- List 分页
- 图像分割·基于边缘检测
- flext弹性盒子属性
- Django的MVC模式——MTV
- 帝国首页列表页实现点赞的方法