@pointcut не работает правильно - PullRequest
3 голосов
/ 10 августа 2011

Я действительно болтаюсь. Этот код отлично работает:

@Before("execution(* *.runi(..))")
public void perform()
{
    sysout("hello");    
}

но это исключение:

@Pointcut("execution(* *.runi(..))")
public void perform()
{

}

@Before("perform()")
public void singerReport(Name name)
{
    sysout("hello");    
}

исключение:

Initialization of bean failed; nested exception is java.lang.IllegalArgumentException: error at ::0 formal unbound in pointcut

Ответы [ 2 ]

1 голос
/ 28 ноября 2012

Вы можете использовать что-то вроде:

@Pointcut("execution(* *.runi(com.yourproject.Name)) && args(name)")
public void perform(Name name){}

@Before("perform(com.yourproject.Name) && args(name)")
public void singerReport(Name name)
{
   sysout("hello");    
}
0 голосов
/ 10 августа 2011

Я полагаю, это говорит о том, что аргумент "имя" не связан. Удалите аргумент, и оба должны работать одинаково.

...