目录
JdkDynamicAopProxy的invoke() 拦截
Advice通知
定义了切面的增强方式,前置增强BeforeAdvice,后置增强 AfterAdvice,异常增强ThrowsAdvice 等。下面看两个主要的子接口的源码。
public interface MethodBeforeAdvice extends BeforeAdvice {
/**
* 目标方法 method 开始执行前,AOP 会回调此方法
*/
void before(Method method, Object[] args, Object target) throws Throwable;
}
public interface AfterReturningAdvice extends AfterAdvice {
/**
* 目标方法 method 执行后,AOP 会回调此方法,注意,它还传入了 method 的返回值
*/
void afterReturning(Object returnValue, Method method, Object[] args, Object target) throws Throwable;
}