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方法通用化。