基于Spring AOP proxyTargetClass的行为表现总结

网友投稿 778 2022-12-20

基于Spring AOP proxyTargetClass的行为表现总结

基于Spring AOP proxyTargetClass的行为表现总结

Spring AOP proxyTargetClass的行为

要点列表形式

proxyTargetClass

true

目标对象实现了接口 – 使用CGLIB代理机制

目标对象没有接口(只有实现类) – 使用CGLIB代理机制

false

目标对象实现了接口 – 使用JDK动态代理机制(代理所有实现了的接口)

目标对象没有接口(只有实现类) – 使用CGLIB代理机制

表格形式

proxyTargetClass

目标对象特征

代理效果

true

目标对象实现了接口

使用CGLIB代理机制

true

目标对象没有接口(只有实现类)

使用CGLIB代理机制

RuGsxUoIG false

目标对象实现了接口

使用JDK动态代理机制(代理所有实现了的接口)

false

目标对象没有接口(只有实现类)

使用CGLIB代理机制

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

proxy-target-class="true"/>

注意:proxy-target-class属性值决定是基于接口的还是基于类的代理被创建。

如果proxy-target-class 属性值被设置为true,那么基于类的代理将起作用(这时需要cglib库)。

如果proxy-target-class 属值被设置为false或者这个属性被省略,那么标准的JDK 基于接口的代理将起作用。

即使你未声明 phttp://roxy-target-class="true" ,但运行类没有继承接口,spring也会自动使用CGLIB代理。

版本spring自动根据运行类选择 JDK 或 CGLIB 代理

proxy-target-class="true"/>

注意:proxy-target-class属性值决定是基于接口的还是基于类的代理被创建。

如果proxy-target-class 属性值被设置为true,那么基于类的代理将起作用(这时需要cglib库)。

如果proxy-target-class 属值被设置为false或者这个属性被省略,那么标准的JDK 基于接口的代理将起作用。

即使你未声明 phttp://roxy-target-class="true" ,但运行类没有继承接口,spring也会自动使用CGLIB代理。

高版本spring自动根据运行类选择 JDK 或 CGLIB 代理

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:车联网物联网芯片公司(车用芯片物联网芯片)
下一篇:一体化政务服务平台复工(建设厅一体化平台)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~