• 简单介绍获取spring代理类对象的两种方式


    一: 通过AopContext获取代理类对象

      

    springboot中如何配置aop动态代理模式

    =============================

    第一种方式:

    在application.yml中有以下配置

    spring:
      aop:
        #auto: true #默认为true,可省略
        proxy-target-class: true # 默认为false即JDK动态代理,我们一般要设为true,使用CGLIB代理

    这种方式只能将代理模式修改为了CGLIG,但是不能设置暴露cglib代理的目标对象。


    ========================================
    第二种方式:
    在springboot启动类上标记这个注解
    @EnableAspectJAutoProxy(exposeProxy=true,proxyTargetClass=true) 

    同时,排除 AopAutoConfiguration.class的自动化配置

    很好,这种方式同时设置exposeProxy为true和proxyTargetClass为true,即强制采用cglib代理,和暴露cglib代理的目标对象。

    ====================================

    第三种方式:

    在springboot启动类上引入spring.xml配置文件

    @ImportResource({"classpath:/spring.xml"})

    同时,排除 AopAutoConfiguration.class的自动化配置

    在spring.xml 配置文件中配置

      <!--1 aspectj 切面的支持 ,强制使用cglib,并暴露cglib代理的目标对象-->
          <aop:aspectj-autoproxy proxy-target-class="true" expose-proxy="true"/>  
          <context:annotation-config />  

  • 相关阅读:
    注册博客园
    算法与数据结构-树-简单-二叉搜索树中的众数
    算法与数据结构-最小化舍入误差以满足目标
    算法与数据结构-设计有限阻塞队列
    分布式学习笔记2
    JS学习笔记1
    生活-上海租房经验
    分布式技术-学习笔记1
    HashMap-线程不安全的原因
    MySQL-复制
  • 原文地址:https://www.cnblogs.com/binyue-sunmk/p/12809246.html
Copyright © 2020-2023  润新知