求高手解答:DelegatingFilterProxy 配置 tomcat启动报错 NoSuchBeanDefinitionException

宾灬 程序员  2019-10-31 11:10:14
//初始化类
public class MyWebApplicationInitializer extends AbstractAnnotationConfigDispatcherServletInitializer {

//要注册的过滤器
@Override
protected Filter[] getServletFilters() {
DelegatingFilterProxy delegatingFilterProxy = new DelegatingFilterProxy();
delegatingFilterProxy.setTargetBeanName("delegatingFilter");
return new Filter[] {delegatingFilterProxy};
}

}
//DelegatingFilterProxy 的目标过滤器
@Component("delegatingFilter")
public class DelegatingFilter extends GenericFilterBean {

public DelegatingFilter(){
LogUtils.info("Create DelegatingFilter");
}
@Override
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain)
throws IOException, ServletException {
LogUtils.info("--------------------------doFilter-----------------------");
filterChain.doFilter(servletRequest, servletResponse);
}
}


启动tomcat报错信息:
org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'delegatingFilter' available

我用的是java配置,没用xml。我猜是DelegatingFilterProxy 初始化时,spring容器中还没有注入bean,所以找不到。求高手解答。
...全文
11 点赞 收藏 1
写回复
1 条回复
宾灬 2019年10月31日
解决了,之前是把目标过滤器放到springmvc容器中, 放到spring容器中就可以了。 ( spring容器不能访问springmvc容器,反之则可以)
回复 点赞
发动态
发帖子
Web 开发
创建于2007-09-28

5.2w+

社区成员

34.1w+

社区内容

Java Web 开发
社区公告
暂无公告