Java @控制器周围的建议不起作用

Java @控制器周围的建议不起作用,java,spring-security,spring-boot,spring-aop,Java,Spring Security,Spring Boot,Spring Aop,我试图在Spring引导应用程序(使用Spring security)中使用AOP记录控制器方法,但无法理解。它没有返回任何异常,并且在添加方面相关代码后处理程序方法无法检测: 控制器方法: @RequestMapping(value="/index", method = RequestMethod.GET) public ModelAndView welcome() { ModelAndView modelView = new ModelAndView(); modelView

我试图在Spring引导应用程序(使用Spring security)中使用AOP记录控制器方法,但无法理解。它没有返回任何异常,并且在添加方面相关代码后处理程序方法无法检测:

控制器方法:

@RequestMapping(value="/index", method = RequestMethod.GET)
public ModelAndView welcome() {
    ModelAndView modelView = new ModelAndView();
    modelView.setViewName("index");
    return modelView;
}
2015-11-18 12:57:41.310 DEBUG 6180 --- [nio-8080-exec-1] s.w.s.m.m.a.RequestMappingHandlerMapping : Looking up handler method for path /index
2015-11-18 12:57:41.310 DEBUG 6180 --- [nio-8080-exec-1] s.w.s.m.m.a.RequestMappingHandlerMapping : Did not find handler method for [/index]
方面:

@Pointcut("within(@org.springframework.web.bind.annotation.RequestMapping *)")
    public void requestMapping() {}

    @Around("execution(* com.hms.controllers.HomeController.*(..)) && @annotation(requestMapping)")
    public void aroundControllerMethod(ProceedingJoinPoint joinPoint, RequestMapping requestMapping) {
        System.out.println("Testing aroundController: " + joinPoint.getSignature().getName());
}
以下日志失败:

@RequestMapping(value="/index", method = RequestMethod.GET)
public ModelAndView welcome() {
    ModelAndView modelView = new ModelAndView();
    modelView.setViewName("index");
    return modelView;
}
2015-11-18 12:57:41.310 DEBUG 6180 --- [nio-8080-exec-1] s.w.s.m.m.a.RequestMappingHandlerMapping : Looking up handler method for path /index
2015-11-18 12:57:41.310 DEBUG 6180 --- [nio-8080-exec-1] s.w.s.m.m.a.RequestMappingHandlerMapping : Did not find handler method for [/index]
如果对方面相关代码进行了注释,则索引页返回时不会出现任何问题


任何insight?

控制器已经由spring mvc代理,可能是因为没有安装around advice。几年前我也遇到过同样的问题,不久就用日志过滤器解决了。您还可以定义一个HandlerInterceptor

控制器已经由spring mvc代理,可能是因为没有安装around advice。几年前我也遇到过同样的问题,不久就用日志过滤器解决了。您还可以定义HandlerInterceptor,它将在Advice与控制器一起工作之前或之后运行??老实说,我不知道。我做了一个尝试,但结果不好,从那时起,我一直在使用过滤器或拦截器,这种机制非常适合拦截基于URI映射的请求。这是一篇关于拦截器的好文章。在建议之前或之后是否会与控制器一起工作?老实说,我不知道。我做了一个尝试,但结果不好,从那时起,我一直在使用过滤器或拦截器,这种机制非常适合拦截基于URI映射的请求。这是一篇关于拦截器的好文章。