error at ::0 can't find referenced pointcut pointCutName 错误解决方法

骑猪看日落 2022-08-11 03:24 293阅读 0赞

Caused by: org.springframework.beans.factory.BeanCreationException: Could not autowire method: public final void org.mybatis.spring.support.SqlSessionDaoSupport.setSqlSessionTemplate(org.mybatis.spring.SqlSessionTemplate); nested exception is java.lang.IllegalArgumentException: error at ::0 can’t find referenced pointcut pointCutName
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredMethodElement.inject(AutowiredAnnotationBeanPostProcessor.java:599)
at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:92)
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:284)
… 65 more

Caused by: java.lang.IllegalArgumentException: error at ::0 can’t find referenced pointcut pointCutName

今天在重新复习Spring AOP的时候,使用aspectJ注解来实现Spring AOP时,用下面这种方式来获得pointCut时报错了:

  1. @Pointcut(value = "execution(* com.westsoft.kft.repairs.service.impl.*.*(..))")
  2. public void pointCutName() {
  3. }
  4. @Before(value = "pointCutName()")
  5. public void before(JoinPoint jp) {
  6. System.out.println("before----------" + jp.getSignature().getName());
  7. }
  8. @After(value = "pointCutName()")
  9. public void after(JoinPoint jp) {
  10. System.out.println("after-----------" + jp.getSignature().getName());
  11. }
  12. }

上网查了,发现是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就解决了我的问题~

发表评论

表情:
评论列表 (有 0 条评论,293人围观)

还没有评论,来说两句吧...

相关阅读