CGlib为什么要实现拦截器方法?CGlib是通过拦截器实现的。CGLib采用底层字节码技术,全称:CodeGenerationLibrary,CGLib可以为一个类创建子类,并在子类中使用方法拦截技术拦截所有父类方法调用,并沿途编织横切逻辑.所以跑得比JDK快。(参考https://cloud.tencent.com/dev...)}publicObjectintercept(Objectobject,Methodmethod,Object[]args,MethodProxymethodProxy)throwsThrowable{returnthis.doInvoke(method,args);}}publicinterfaceMethodInterceptorextendsCallback{Objectintercept(Objectvar1,Methodvar2,Object[]var3,MethodProxyvar4)throwsThrowable;}JDKProxyJDKProxy是Java语言的内置函数,不需要自己实现加载第三方类。Spring的动态代理首先是通过JDK实现的。JDKProxy主要涉及java.lang.reflect包下的两个类:Proxy和InvocationHandler。其中InvocationHandler是一个接口,可以通过实现接口来定义横切逻辑,并通过反射机制调用目标类的代码,将横切逻辑和业务逻辑动态编织在一起。InvocationHandler是代理实例的调用处理器实现的接口。每个代理实例都有一个关联的调用处理程序。当在代理实例上调用方法时,方法调用被编码并分派到其调用处理程序的调用方法。类JdkProxyHandler
