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