@ControllerAdvice
时间: 2023-06-29 12:17:19 浏览: 52
`@ControllerAdvice` 是 Spring MVC 中的一个注解,它可以将控制器中的通用异常处理逻辑集中到一个地方进行管理,从而避免在每个控制器中都单独处理异常。具体来说,`@ControllerAdvice` 注解可以将一个普通的类变成一个全局性的异常处理器,从而为应用程序提供统一的异常处理机制。
使用 `@ControllerAdvice` 注解需要定义一个类,并且在类上添加该注解,例如:
```java
@ControllerAdvice
public class GlobalExceptionHandler {
// 异常处理方法
@ExceptionHandler(Exception.class)
public ModelAndView handleException(Exception e) {
ModelAndView mv = new ModelAndView();
mv.addObject("message", e.getMessage());
mv.setViewName("error");
return mv;
}
}
```
在上面的代码中,`GlobalExceptionHandler` 类上添加了 `@ControllerAdvice` 注解,表明它是一个全局性的异常处理器。同时,`handleException` 方法上还添加了 `@ExceptionHandler(Exception.class)` 注解,表示该方法用于处理所有类型的异常。在方法中,我们可以根据具体的异常类型进行不同的处理,例如将异常信息添加到模型中,然后返回一个指定的错误页面。
当应用程序中抛出异常时,Spring MVC 会自动调用 `GlobalExceptionHandler` 中对应的方法进行处理,从而实现了全局性的异常处理。
总的来说,`@ControllerAdvice` 注解可以让开发者将控制器中的通用异常处理逻辑集中到一个地方进行管理,从而提高代码的复用性和可维护性。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)