现在的位置: 首页 > 综合 > 正文

Spring error at ::0 can’t find referenced pointcut myMethod等异常的解决

2013年05月11日 ⁄ 综合 ⁄ 共 769字 ⁄ 字号 评论关闭

刚刚在使用声明方式的AOP编程中,遇到以下两个问题,解决方法如下:

(1)error at ::0 formal unbound in pointcut

解决方法:去掉函数通知函数中的参数,比如:将

@Before("execution(public void com.zjw.dao.impl.UserDAOImpl.*(..))")

   error at ::0 can't find referenced pointcut myMethod

 public void beforeMethod(Method method){

       System.out.println("method before");

    }

改为

@Before("execution(public void com.zjw.dao.impl.UserDAOImpl.*(..))")

    public void beforeMethod(){

       System.out.println("method before");

    }

(2)com\zjw\dao\Impl\UserDAOImpl.class]: Initialization of bean failed; nested exception is java.lang.IllegalArgumentException: error at ::0 can't find referenced pointcut myMethod

错误原因:如果你用的JDK版本是1.6的话,而引用的aspectjrt.jar是spring-2.0中包含的jar包的情况下就会报这样的错误。 
解决方法:就是下载最新的aspectjrt的jar包即可,或者使用spring3.0中的包!在这边我使用的aspectjrt.jar居然是1.1的 所以出错了 改为aspectj最新版aspectj就没问题了

抱歉!评论已关闭.