怎么解决Spring Boot 的Aspect不起作用?

切面那个类的代码是这样的

@Aspect
@Component
public class FormAspect {

    @Pointcut("execution(public * com.repair.controller.app.FormController.saveOrUpdate())")
    public void pointcut() {
    }

    @After("pointcut()")
    public void after(){
        System.out.println("after");
    }

    @Before("pointcut()")
    public void before(){
        System.out.println("before");
    }

    @AfterReturning(value = "pointcut()",returning = "result")
    public void afterReturning(Object result){
        System.out.println("afterReturning" + result);
    }
}

依赖我也添加了

<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-aop</artifactId>
        </dependency>

定义切点的那个方法 saveOrUpdate(),我也有注明是public的

@RequestMapping(value = "/saveOrUpdate")
    @ResponseBody
    public ServerResponse saveOrUpdate(Form form){
        // mycode
        return serverResponse;
    }

但是就没有进入我定义的切点,没起作用。各位大神这是怎么回事?

阅读 10.3k
1 个回答
@EnableAspectJAutoProxy

这个aop配置开启了么 ?


改成这样试试呢 ?

@Pointcut("execution(* com.repair.controller.app.FormController.saveOrUpdate(..))")
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏