在使用声明方式的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运行时库来解决。

7042

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



