首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Spring3.x中如何检索默认的HandlerExceptionResolver实例?

在Spring3.x中如何检索默认的HandlerExceptionResolver实例?
EN

Stack Overflow用户
提问于 2012-11-05 03:57:06
回答 1查看 699关注 0票数 0

Javadoc表示在DispatcherServlet中默认启用了AnnotationMethodHandlerExceptionResolverResponseStatusExceptionResolverDefaultHandlerExceptionResolver

我正在尝试创建HandlerExceptionResolverComposite,但我希望检索默认情况下启用的HandlerExceptionResolver实例。我尝试了@Autowired,但没有成功。

我目前的解决方案是:

代码语言:javascript
复制
@Configuration
public class ErrorHandling {

//  @Autowired
//  AnnotationMethodHandlerExceptionResolver amher;
//  
//  @Autowired
//  ResponseStatusExceptionResolver rser;
//  
//  @Autowired
//  DefaultHandlerExceptionResolver dher;

    @Bean
    HandlerExceptionResolverComposite getHandlerExceptionResolverComposite() {

        HandlerExceptionResolverComposite result
            = new HandlerExceptionResolverComposite();

        List<HandlerExceptionResolver> l
            = new ArrayList<HandlerExceptionResolver>();

        l.add(new AnnotationMethodHandlerExceptionResolver());
        l.add(new ResponseStatusExceptionResolver());
        l.add(new DefaultHandlerExceptionResolver());

        result.setExceptionResolvers(l);

        return result;

    }

}

我的问题是:如何检索默认启用的HandlerExceptionResolver实例?如果我创建自己的实例会有问题吗?

EN

回答 1

Stack Overflow用户

发布于 2012-11-05 15:29:09

在BeanFactoryUtils中找到了一些东西

代码语言:javascript
复制
Map<String, HandlerExceptionResolver> matchingBeans = BeanFactoryUtils
                    .beansOfTypeIncludingAncestors(context, HandlerExceptionResolver.class, true, false);

检查DispatchServlet的源代码并转到initHandlerExceptionResolvers()方法,也许你可以找到一种方法来获得所有注册的异常解析器。

谢谢

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13222292

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档