是用SpringBoot框架进行开发的时候,如果使用Filter对访问进行过滤的时候,需要用到一些autowired的类,发现这些类在启动的时候,由于相应的beanfactory还没有加载,所以会出现问题。找了一段时间,发现下面的方法能够有效解决这个问题。解决办法也是参照stackflow上面的。
@Override
public void init(FilterConfig fConfig) throws ServletException
{
WebApplicationContextUtils.getRequiredWebApplicationContext(fConfig.getServletContext())
.getAutowireCapableBeanFactory().autowireBean(this);
}