赵走x博客
网站访问量:151476
首页
书籍
软件
工具
古诗词
搜索
登录
深入理解spring注解之@ComponentScan注解
@Repository注解的作用和用法,以及和@Mapper的区别
IoC 和 DI 的关系?
@Data 使用与介绍
Validated数据校验,看这一篇就够了
AopContext.currentProxy()用法的意义
AopContext.currentProxy()用法的意义
资源编号:551320
热度:164
AopContext.currentProxy()用法的意义
今天在看同事代码的时候,发现在一个Service层,A方法调用B方法的时候,用了 ``` ((Service)AopContext.currentProxy()).B() ``` 这种方式去调用,我没遇到过这种方式,不太理解,后来百度了一下,终于明白这样用法的意义,现在记录下来! 原来在springAOP的用法中,只有代理的类才会被切入,我们在controller层调用service的方法的时候,是可以被切入的,但是如果我们在service层 A方法中,调用B方法,切点切的是B方法,那么这时候是不会切入的,解决办法就是如上所示,在A方法中使用 ((Service)AopContext.currentProxy()).B() 来调用B方法,这样一来,就能切入了! ### 实例 ``` package com.medinc.rdmp.common.utils; import org.springframework.aop.framework.AopContext; /** * Created by wangweimin on 2022/8/29 */ public class SpringUtil { private SpringUtil() {} @SuppressWarnings("unchecked") public static
T getAopProxy(T invoker) { return (T) AopContext.currentProxy(); } } ``` 