@EnableAspectJAutoProxy
proxyTargetClass
设定AOP代理类型。
@EnableAspectJAutoProxy(proxyTargetClass = true)
表示使用 CGLIB 动态代理(基于类的代理,而不是基于接口的 JDK 动态代理)。
JDK 动态代理需要对方实现接口,有了之后就可以创建实现了对方接口的代理类并将方法调用转发给目标对象。
默认情况下,Spring AOP 使用 JDK 动态代理,但设置为 true
后,Spring 会使用 CGLIB 来生成代理类,这样就无需对方去实现接口,但要求目标类必须有无参构造方法。