@pointcut无法正常工作

时间:2011-08-10 00:52:42

标签: spring spring-aop

我真的很茫然。 这段代码工作正常:

@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 个答案:

答案 0 :(得分:1)

你可以使用像:

这样的东西
@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");    
}

答案 1 :(得分:0)

我相信它告诉你论证“名字”是不受约束的。删除参数,两者应该完全相同。