在使用声明方式的AOP编程中,遇到以下两个问题,解决方法如下:
(1)error at ::0 formal unbound in pointcut
解决方法:去掉函数通知函数中的参数,比如:将
@Before("execution(public void com.bjsxt.dao.impl.UserDAOImpl.*(..))")
public void beforeMethod(Method method){
System.out.println("method before");
}
改为
@Before("execution(public void com.bjsxt.dao.impl.UserDAOImpl.*(..))")
public void beforeMethod(){
System.out.println("method before");
}
这个办法能解决问题,但是一直不明白,希望有人能帮忙解决一下
(2)error at ::0 can't find referenced pointcut myMethod
错误原因:如果你用的JDK版本是1.6的话,而引用的aspectjrt.jar是spring-2.0中包含的jar包的情况下就会报这样的错误。
解决方法:就是下载最新的aspectjrt的jar包即可aspectj-1.6.6.jar ,或者使用spring3.0中的包!
本文针对声明式AOP编程中出现的两大典型问题提供了解决方案:一是如何正确配置切入点表达式避免形式参数未绑定错误;二是解决因AspectJ版本不匹配导致的找不到引用切入点的问题。

1万+

被折叠的 条评论
为什么被折叠?



