Spring AOP原理简述
Spring AOP底层是动态代理,大致流程是这样,在InvocationHandler的invoke方法里,根据参数method反射拿到被代理方法的签名:
String signature = Modifier.toString(method.getModifiers()) + method.getReturnType().getName() + method.getDeclaringClass().getName() + method.getName() +"(" + method.getParameterTypes() + ")";
然后再根据反射找到其对应的切入点表达式所修饰的增强方法的Method对象,进而做到invoke方法通用化。