【SpringBoot】AOP默认的动态代理(spring boot动态代理)

  本篇文章为你整理了【SpringBoot】AOP默认的动态代理(spring boot动态代理)的详细内容,包含有springboot动态代理配置 spring boot动态代理 spring aop 动态代理方式 spring的aop的动态代理机制都有哪些 【SpringBoot】AOP默认的动态代理,希望能帮助你了解 【SpringBoot】AOP默认的动态代理。

  Spring启动时会加载AopAutoConfiguration

  这个类中通过@EnableAspectJAutoProxy注解开启AOP,代码如下

  点进去看看:

  

  

  可以看到该注解是通过proxyTargetClass参数来控制是否使用Cglib动态代理的,默认值为false,即使用JDK动态代理

  验证一下:

  

public interface MyService {

 

   void say();

  }

 

  
debug执行:

  

  嗯?并不是JDK动态代理,用的是Cglib动态代理,跟我们第二张图看到的默认值不一样哎

  此时返回去看第一张图,发现@ConditionalOnProperty 注解下有属性matchIfMissing = true,即在缺少proxy-target-class 配置的情况下,会匹配CglibAutoProxyConfiguration,使用@EnableAspectJAutoProxy(proxyTargetClass = true),就是使用Cglib动态代理

  结论:

  SpringBoot 2.x AOP默认使用的是Cglib动态代理

  附加:

  【学习日志】Cglib动态代理和JDK动态代理的对比

  【一句话】@Configuration和@Component的区别

  

  

  

   posted on 2023-03-06 10:52马儿跑

  阅读(60)

  评论(0)

  编辑

  收藏

  举报

  以上就是【SpringBoot】AOP默认的动态代理(spring boot动态代理)的详细内容,想要了解更多 【SpringBoot】AOP默认的动态代理的内容,请持续关注盛行IT软件开发工作室。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: