filter注入service报空指针

其实Spring中,web应用启动的顺序是:listener->filter->servlet,先初始化listener,然后再来就filter的初始化,再接着才到我们的dispathServlet的初始化,因此,当我们需要在filter里注入一个注解的bean时,就会注入失败,因为filter初始化时,注解的bean还没初始化,没法注入。

public class AuthenticationTokenFilter implements Filter {
private JedisUtil.Strings jedisStrings;
 	@Override
    public void init(FilterConfig fConfig) throws ServletException {
        ServletContext sc = fConfig.getServletContext();
        XmlWebApplicationContext cxt = (XmlWebApplicationContext) 
        WebApplicationContextUtils.getWebApplicationContext(sc);
        if (cxt != null && cxt.getBean("jedisStrings") != null && jedisStrings == null)
            jedisStrings = (JedisUtil.Strings) cxt.getBean("jedisStrings");
    }
   ...
   ...
}
全部评论

相关推荐

11-03 14:57
西北大学 营销
Belltrix:其实就是每根转动一定的角度
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务