Javadoc은 DispatcherServlet에서 AnnotationMethodHandlerExceptionResolver, ResponseStatusExceptionResolver 및 DefaultHandlerExceptionResolver이 기본적으로 활성화되어 있다고 말합니다.Spring 3.x에서 기본 HandlerExceptionResolver 인스턴스를 검색하는 방법은 무엇입니까?
HandlerExceptionResolverComposite
을 만들려고하고 있지만 기본적으로 활성화 된 HandlerExceptionResolver
인스턴스를 검색하고 싶습니다. @Autowired
을 시도했지만 실패했습니다.
내 현재 솔루션은 다음과 같습니다
@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
인스턴스를 검색 할 수 있습니다? 내 인스턴스를 만들면 문제가됩니까?
Map<String, HandlerExceptionResolver> matchingBeans = BeanFactoryUtils
.beansOfTypeIncludingAncestors(context, HandlerExceptionResolver.class, true, false);
BeanFactoryUtils
에서
해결 방법이 있습니까? –
예.하지만 한 가지 사례 만 테스트했습니다. – JVerstry