Caused by: java.lang.IllegalArgumentException: error at ::0 can't find referenced pointcut pointCutName
今天在重新复习Spring AOP的时候,使用aspectJ注解来实现Spring AOP时,用下面这种方式来获得pointCut时报错了:
@Pointcut(value = "execution(* com.westsoft.kft.repairs.service.impl.*.*(..))")
public void pointCutName() {
}
@Before(value = "pointCutName()")
public void before(JoinPoint jp) {
System.out.println("before----------" + jp.getSignature().getName());
}
@After(value = "pointCutName()")
public void after(JoinPoint jp) {
System.out.println("after-----------" + jp.getSignature().getName());
}
}
上网查了,发现是aspectjweaver-1.5.2.jar这个包版本太低,于是去官网http://www.eclipse.org/aspectj/downloads.php下载了个最新版的替换
下载下来的aspectj-1.8.1里有4个jar包:aspectjrt.jar、aspectjtools.jar、aspectjweaver.jar和org.aspectj.matcher.jar
其余三个我也不知道有什么用,我只替换了其中的aspectjweaver.jar就解决了我的问题~