一: 通过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 />  

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-10-09
  • 2021-09-16
  • 2021-07-20
  • 2022-02-21
猜你喜欢
  • 2022-01-08
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-11-07
  • 2022-12-23
相关资源
相似解决方案