zoukankan      html  css  js  c++  java
  • springboot中spring aop实现的动态代理-cglib和JDK

    spring aop默认使用JDK还是Cglib动态代理?

    一般情况:实现接口类,接口类为JDK ,实现类为Cglib动态代理

    springboot2.x默认使用的代理是cglib代理

    实现原理:

        spring.aop.proxy-target-class属性值为true 调用cglib

     自动配置,默认是true

    但是有一情况况例外:

      存在@EnableAsync和@EnableCaching,默认 spring.aop.proxy-target-class属性值为false

     示例代码:

    testService存在@Async注解,这样spring.aop.proxy-target-class属性值为false和ITestService为接口类,则使用JDK动态注解

    test1Service为接口类和test1ServiceImpl为实现类,没有@Async注解,则使用的是Cglib动态代理

     

     

  • 相关阅读:
    Java环境搭建
    Java语言的分支
    Java语言概述
    计算机语言
    人机交互
    计算机分类
    计算机的应用领域
    计算机的发展史
    Java8的一些新特性
    python国内三方库下载镜像
  • 原文地址:https://www.cnblogs.com/mufeng07/p/12421718.html
Copyright © 2011-2022 走看看