开发者社区> 问答> 正文

Spring AOP问题?报错

最近刚学Spring,建了4个java类,其中一个接口,一个实现类,只有输出一句话的方法,一个advice,还有一个测试类,都在com.spring.firstAOP包下

在xml文件中用<aop:config>配置的


<aop:config>
  <aop:pointcut expression="execution(* com.spring.firstAOP.*.*(..))" id="sayHello" />
  <aop:aspect id="doadvice" ref="beforeAdviceLogging">
    <aop:before method="beforeAdvice" pointcut-ref="sayHello" />
  </aop:aspect>
</aop:config>


然后配置了两个bean,一个接口实现类的bean,另一个是advice的bean


运行之后就报错,下面发的是第一行的错误信息

我把<aop:config>这段注释掉就没事,用的spring4.04

导入了spring里边的21个jar包,aopalliance.jar,commons-logging.jar,log4j相关jar包,和aspectj.jar

跪求大神,俩小时了。。都没弄明白

Error creating bean with name 'org.springframework.aop.aspectj.AspectJPointcutAdvisor#0': Cannot create inner bean '(inner bean)#7adda9cc' of type [org.springframework.aop.aspectj.AspectJMethodBeforeAdvice] while setting constructor argument; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name '(inner bean)#7adda9cc': Cannot resolve reference to bean 'sayHello' while setting constructor argument; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sayHello': Instantiation of bean failed; nested exception is java.lang.NoClassDefFoundError: org/aspectj/weaver/reflect/ReflectionWorld$ReflectionWorldException


是不是少了aspectjweaver.jar包啊


展开
收起
爱吃鱼的程序员 2020-06-14 19:11:57 935 0
1 条回答
写回答
取消 提交回答
  • 异常写的挺清楚的,没有默认构造方法吧. 添加上就行了. 建议了解下这个增强的原理. 它会替换相关的newInstance

    2021-04-07 11:50:39
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
云栖社区特邀专家徐雷Java Spring Boot开发实战系列课程(第20讲):经典面试题与阿里等名企内部招聘求职面试技巧 立即下载
微服务架构模式与原理Spring Cloud开发实战 立即下载
阿里特邀专家徐雷Java Spring Boot开发实战系列课程(第18讲):制作Java Docker镜像与推送到DockerHub和阿里云Docker仓库 立即下载

相关实验场景

更多