Spring问题之Spring中的MethodBeforeAdvice为什么不实现MethodInterceptor接口
我们知道spring中有五种Advice:
- 前置增强:BeforeAdvice,不是直接实现MethodInterceptor而是借助MethodBeforeAdviceAdapter代理模式生成MethodBeforeAdviceInterceptor(是MethodInterceptor的子类)
- 后置增强: AfterReturningAdvice,通过AfterReturningAdviceInterceptor直接实现MethodInterceptor
- 环绕增强: MethodInterceptor
- 异常抛出增强: ThrowsAdvice,不是直接实现MethodInterceptor,而是借助ThrowsAdviceAdapter代理模式生成ThrowsAdviceInterceptor(是MethodInterceptor的子类)
- 引介增强: IntroductionInterceptor
问题
那为什么spring前置增强和异常增强不直接实现MethodInterceptor