在使用聲明方式的AOP編程中,遇到如下兩個問題,解決方法以下:spring
(1)error at ::0 formal unbound in pointcut編程
解決方法:去掉函數通知函數中的參數,好比:將函數
@Before("execution(public void com.bjsxt.dao.impl.UserDAOImpl.*(..))")spa
public void beforeMethod(Method method){orm
System.out.println("method before");jsx
}it
改成io
@Before("execution(public void com.bjsxt.dao.impl.UserDAOImpl.*(..))")form
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中的包!