我真的很茫然。 这段代码工作正常:
@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
答案 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)
我相信它告诉你论证“名字”是不受约束的。删除参数,两者应该完全相同。