aop定义切入点规则(@Pointcut)后不生效,方法执行时无法被aop拦截

一、场景

1、aop切入规则
aop定义切入点规则(@Pointcut)后不生效,方法执行时无法被aop拦截_第1张图片
2、在调用方法时,无法被aop拦截
aop定义切入点规则(@Pointcut)后不生效,方法执行时无法被aop拦截_第2张图片

二、原因

没有使用IOC容器管理的实例调用该方法

从截图可以看出,方法是在本类“WebSocketAndSocketUtil”调用的,没有使用“对象.方法名(参数)”的方式调用,这样aop是无法拦截到该方法的,具体原因不明,有知道原因的小伙伴欢迎评论留言

三、解决

1、将该方法所在类的实例注入IOC容器
aop定义切入点规则(@Pointcut)后不生效,方法执行时无法被aop拦截_第3张图片
2、使用@Autowired注入实例在这里插入图片描述
3、使用该实例调用该方法aop定义切入点规则(@Pointcut)后不生效,方法执行时无法被aop拦截_第4张图片

注:如果直接new一个对象去调用切入点定义的方法,aop也是无法拦截到的

你可能感兴趣的:(Java开发问题,AOP,java,开发语言)