提问者:小点点

在切入点错误中给出了正式的未绑定表达式


我在aspectJ中有这样的表达:

@Pointcut("within(com.param.cpms.dao.impl.ProjectMetaDaoImpl)")
public void daoExceptionHandle() {

}

在Spring 3.0启动时,我收到以下错误:

nested exception is java.lang.IllegalArgumentException: error at ::0 formal unbound in pointcut

共3个答案

匿名用户

问题可能不在于您的切入点,而在于使用该切入点并使用切入点中不存在的参数的建议。只需从建议中删除参数(好吧,或将其添加到切入点)。

匿名用户

它是Joinpoint("p小写)

org.aopalliance.intercept.Joinpoint;

更改为JointPoint("P大写)

org.aspectj.lang.JoinPoint; 

匿名用户

这篇文章很旧了,但为了完整起见,我添加了另一个原因,如果你使用@周围的建议。

根据Spring A人J留档,该建议的第一个参数必须是程序连接点。如果它丢失了,你将得到这个异常消息。可悲的是,异常并没有指向错误的建议,所以解决bug是一个偶然的机会。