在我的项目中,我被迫使用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具有类似功能可能是一个不错的解决方法。

10-08 02:07