【Exception】Spring AOP 报错: error at ::0 can't find referenced pointcut point
一、问题描述
1、在使用Spring配置AOP 切面时,遇到一个报错问题:
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.transaction.annotation.AnnotationTransactionAttributeSource#0': Initialization of bean failed; nested exception is java.lang.IllegalArgumentException: error at ::0 can't find referenced pointcut point
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:547)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:475)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:302)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:228)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:298)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193)
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:328)
... 63 more
Caused by: java.lang.IllegalArgumentException: error at ::0 can't find referenced pointcut point
at org.aspectj.weaver.tools.PointcutParser.parsePointcutExpression(PointcutParser.java:301)
二、问题解决
1、查了不少答案,说是jar版本不兼容问题导致的;本项目环境概况: JDK1.8 ; Spring 4.3+ ; aspectjrt-1.7.4.jar ; aspectjweaver-1.7.4.jar ; 基本可以排除jar包问题。
2、问题发现:配置环绕的时候,连接切点方法写错了
而且还写成了 point , 造成了问题难以定位!
3、问题解决: 连接切点的方法名要和正确的切点保持一致,才能正确实现AOP切面配置。
遇到类似问题的朋友,可以按照这个思路排查试试。