BaseController SpringMVC

时间:2012-12-02 12:10:35

标签: java spring model-view-controller controller

在我的项目中,我被迫使用Base Controller创建一个处理错误的类。我想问一下是否有办法让它真正“MAIN”Controller ,除了附加到所有类extends BaseController。我的意思是,配置文件中的一些棘手的更改或者可能是有用的注释。附加到所有类定义的扩展BaseController 是解决该问题的唯一方法吗?

2 个答案:

答案 0 :(得分:1)

@ControllerAdvice(自3.2.0开始)将满足您的需求。

对于应用程序中所有控制器所需的Spring @MVC功能,请考虑使用@ControllerAdvice注释。 这是从Spring 3.2.0开始引入的,对于全局处理来自@MVC处理程序的异常非常有用。来自javadoc:

  

它通常用于定义@ExceptionHandler@InitBinder和   适用于所有@ModelAttribute方法的@RequestMapping方法。

顺便说一句,我不认为使用某种BaseController是一个很好的设计。但对于较低版本的Spring,它可能是类似功能的一个很好的解决方法。

答案 1 :(得分:0)

实施自己的HandlerExceptionResolver是否有问题?

我认为归结为:

  • @ExceptionHandler =在给定的控制器中
  • HandlerExceptionResolver =整个应用程序