动态代理—CGLIB
- CGLIB(Code Generation Library),Code生成类库
- CGLIB动态代理不限定是否具有接口,可以对任意操作进行增强
- CGLIB动态代理无需要原始被代理对象,动态创建出新的代理对象
新建两个文件
内容如下
运行可见结果成功运行
代理模式的选择
- Spring可以通过配置的形式控制使用的代理形式,默认使用jdkproxy,通过配置可以修改为使用cglib
- XML配置
<aop:config proxy-target-class="false">
</aop:config>
- XML注解支持
<aop:aspectj-autoproxy proxy-target-class="false"/>
- 注解驱动
@EnableAspectJAutoProxy(proxyTargetClass="true")
- CGLIB动态代理
- 代理模式切换