spring-boot中的@ControllerAdvice注释是什么,为什么以及何时使用它?

时间:2019-08-30 18:44:49

标签: java spring spring-boot

我在基于spring-boot框架构建的工作中使用自定义框架,当我需要它来创建自定义异常处理程序类时,我在spring-boot中看到此注释@ControllerAdvice,但我不知道为什么我必须使用它吗?

1 个答案:

答案 0 :(得分:4)

当您有多个REST API控制器执行许多不同的工作时,

@ ControllerAdvice 对于处理异常非常有用。

这意味着在编写任何应用程序时,您会遇到异常并在每个方法级别处理异常是乏味且并非最佳的。因此,为了克服这一点,spring引入了@ControllerAdvice的概念,它将拦截所有控制器并查找引发的异常。 这是全局级别的,这意味着每个应用程序只有一个@ControllerAdvice,它将拦截控制器抛出的异常。 For more information here is a nice explanation:

注意:它只能与spring MVC控制器一起使用。