美文网首页Java基础new
Spring中默认使用jdk代理还是cglib代理?

Spring中默认使用jdk代理还是cglib代理?

作者: 从零开始的程序猿生活 | 来源:发表于2021-03-12 11:36 被阅读0次

    jdk代理(基于接口):如果目标实现了接口,那么默认使用jdk代理。
    cglib代理(基于类):如果目标没有实现接口,那么默认使用cglib代理。

    spring中的配置proxy-target-class 属性:
    proxy-target-class:true 设置基于类的代理,cglib代理。
    proxy-target-class:false 设置基于接口的代理,jdk代理,但如果目标没有实现接口,使用cglib代理。

    如果当前类方法上有 @Cacheable @Transactional 注解或者 被aop加强的话 生成的是代理对象,具体哪种代理看上面的区分,如果没有上述条件的话那么创建的对象是 原始对象。

    相关文章

      网友评论

        本文标题:Spring中默认使用jdk代理还是cglib代理?

        本文链接:https://www.haomeiwen.com/subject/sxxzqltx.html