Spring 控制建议如何捕获异常

Spring 控制建议如何捕获异常,spring,spring-boot,spring-mvc,controller-advice,Spring,Spring Boot,Spring Mvc,Controller Advice,我试图了解ControllerAdvice在SpringBoot中是如何工作的。建议每个应用应有一个控制器建议。但我的问题是这个ControllerAdvice是如何绑定到控制器并捕获异常的。那么基本上什么是引擎盖下 SpringAOP与代理一起工作 也就是说,当您注释带有任何AOP注释的类spring时,将通过扩展您注释的类来创建一个代理类,并且所有方法都将在代理类中被覆盖 因此,当您在中调用方法时,您的类将首先调用代理对象方法,然后调用实际方法。这是Spring AOP知道方法是否被调用或抛

我试图了解ControllerAdvice在SpringBoot中是如何工作的。建议每个应用应有一个控制器建议。但我的问题是这个ControllerAdvice是如何绑定到控制器并捕获异常的。那么基本上什么是引擎盖下

SpringAOP与代理一起工作

也就是说,当您
注释
带有任何
AOP注释的类
spring
时,将通过
扩展
您注释的类来创建一个
代理类
,并且所有方法都将在代理类中被覆盖

因此,当您在
中调用
方法时,您的类将首先调用
代理对象方法
,然后调用
实际方法
。这是
Spring AOP
知道
方法是否被调用
抛出了一些异常
成功返回

这就是为什么在调用
类中的
私有方法时,无法
拦截该方法调用的原因