proxy-target-class="false"与proxy-target-class="true"区别

原创转载请注明出处:https://www.cnblogs.com/agilestyle/p/11484063.html

<aop:aspectj-autoproxy proxy-target-class="false"/> 基于接口,使用JDK动态代理

JDK Dynamic proxy can only proxy by interface (so your target class needs to implement an interface, which will also be implemented by the proxy class).

<aop:aspectj-autoproxy proxy-target-class="true"/> 基于类,需要使用cglib库

CGLIB (and javassist) can create a proxy by subclassing. In this scenario the proxy becomes a subclass of the target class. No need for interfaces.

Note:

这两种代理方式的使用使用了 策略模式 。

原文地址:https://www.cnblogs.com/agilestyle/p/11484063.html