Javadoc によると、 DispatcherServlet ではAnnotationMethodHandlerExceptionResolver、ResponseStatusExceptionResolver、およびDefaultHandlerExceptionResolverがデフォルトで有効になっています。
を作成しようとしていますが、デフォルトで有効になっているインスタンス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
、デフォルトで有効になっているインスタンスを取得するにはどうすればよいですか? 独自のインスタンスを作成しても問題はありますか?