Spring AOP 设计解密:代理对象生成、拦截器链调度与注解适配全流程源码解析深入Spring AOP源码, 在Spring AOP的设计实现中主要使用了 JDK 动态代理,在特定场景下(被代理对象没有实现的接口)也用到了 CGLIB 生成代理。通过源码设计可以看到,首先是为目标对象建立了代理对象(是 JDK 动态代理或 CGLIB 实现)。然后启动为代理对象配置的拦截器,对横切面(目标方法集合)进行相应的增强,将 AOP 的横切面设计和 Proxy 模式有效地结合起来,实现了在 AOP 中定义好的各种织入方式。