Java 控制器上的方面方法拦截

Java 控制器上的方面方法拦截,java,spring,spring-mvc,spring-aop,aspect,Java,Spring,Spring Mvc,Spring Aop,Aspect,我有一个Spring mvc控制器,具有以下方法: @RequestMapping(value = "/method1", method = GET) public A method1() throws Exception { return new A(); } 及 我想用一个方面来拦截这些方法: @Before("execution(** com.test.controller.*(..))") public void startLog() { Sy

我有一个Spring mvc控制器,具有以下方法:

@RequestMapping(value = "/method1", method = GET) 
public A method1() throws Exception 
{           
    return new A();
}

我想用一个方面来拦截这些方法:

@Before("execution(** com.test.controller.*(..))")
public void startLog()
{
    System.out.println("START");
}

此特性适用于
method1
,而不适用于
method2
。我做错了什么?

具有@RequestMapping注释的特定包中方法的切入点表达式:

@Before("execution(* com.test.controller.*.*(..)) && @annotation(org.springframework.web.bind.annotation.RequestMapping)")
    public void startLog()
    {
        System.out.println("START");
    }

是的,我将double**作为返回类型时出错。有了这个和注释,一切正常。谢谢
@Before("execution(* com.test.controller.*.*(..)) && @annotation(org.springframework.web.bind.annotation.RequestMapping)")
    public void startLog()
    {
        System.out.println("START");
    }