spring-boot 整合aop 增加jar包中的类不执行

发布于 2022-09-12 03:20:45 字数 894 浏览 50 评论 0

编写的AOP代码如下


import org.aspectj.lang.JoinPoint;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;
import org.aspectj.lang.annotation.Pointcut;
import org.springframework.stereotype.Component;

import lombok.extern.slf4j.Slf4j;

@Aspect
@Component
@Slf4j
public class ActionEnterAdvisor {
  // Controller层切点  匹配.controller包及其子包下的所有类的所有方法
  @Pointcut("execution(* com.litongjava.spring.boot.ueditor.contoller.IndexController.index(..))")
  public void actionEnterAspect() {
  }

  // 定义增强 advice
  @Before("actionEnterAspect()")
  public void doBefore(JoinPoint joinPoint){
    log.info("已经进入");
  }
}

测试访问IndexController的index方法会执行增强
后来我修改@Pointcut的值为如下

@Pointcut("execution(* com.baidu.ueditor.ActionEnter.exec(..))")

测试在com.baidu.ueditor.ActionEnter.exe方法执行前,增强代码不会执行

为什么不会执行呢?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

︶ ̄淡然 2022-09-19 03:20:45

Spring aop的限制蛮多的,要求切面类和被切面类都必须是 spring 容器管理,且切面方法是public。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文