AOP代理模式分为动态和静态:
静态代理(将切面代码直接编译到Java类文件中)
------AspectJ实现
动态代理(将切面代码进行动态织入)
------jdk的proxy
------cglib实现
在spring的aop开发中,它使用的是动态代理方案,代理实现有两种:
spring框架默认情况下,会对有接口的类使用proxy代理。没有接口的类使用cglib代理。
Proxy-target-class默认值是false,代表的是如果目标是有接口的使用proxy代理,如果没有接口使用cglib.
如果将proxy-target-class=true,不管目标是否有接口,都会使用cglib进行代理。
https://blog.csdn.net/qq_34178598/article/details/78630934