在我的项目中,我被迫使用Base Controller创建一个处理错误的类。我想问一下是否有办法让它真正“MAIN”Controller ,除了附加到所有类extends BaseController
。我的意思是,配置文件中的一些棘手的更改或者可能是有用的注释。附加到所有类定义的扩展BaseController 是解决该问题的唯一方法吗?
答案 0 :(得分:1)
@ControllerAdvice
(自3.2.0开始)将满足您的需求。
对于应用程序中所有控制器所需的Spring @MVC功能,请考虑使用@ControllerAdvice
注释。
这是从Spring 3.2.0开始引入的,对于全局处理来自@MVC处理程序的异常非常有用。来自javadoc:
顺便说一句,我不认为使用某种它通常用于定义
@ExceptionHandler
,@InitBinder
和 适用于所有@ModelAttribute
方法的@RequestMapping
方法。
BaseController
是一个很好的设计。但对于较低版本的Spring,它可能是类似功能的一个很好的解决方法。
答案 1 :(得分:0)
实施自己的HandlerExceptionResolver是否有问题?
我认为归结为: