Spring错误——Spring AOP——org.aspectj.weaver.reflect.ReflectionWorld$ReflectionWorldException

Easter79
• 阅读 674
  • 背景:学习切面,测试前置通知功能,xml配置如下

    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xmlns:context="http://www.springframework.org/schema/context"
           xmlns:aop="http://www.springframework.org/schema/aop"
           xsi:schemaLocation="http://www.springframework.org/schema/beans
            http://www.springframework.org/schema/beans/spring-beans.xsd
            http://www.springframework.org/schema/context
            http://www.springframework.org/schema/context/spring-context.xsd
            http://www.springframework.org/schema/aop
            http://www.springframework.org/schema/aop/spring-aop.xsd" >
    
            <bean id="ikAspect" class="com.jing.spring.aop.IKAspect"></bean>
            <bean id="ikAspectBiz" class="com.jing.spring.aop.IKAspectBiz"></bean>
    
            <aop:config>
                    <aop:aspect id="ikAspectAop" ref="ikAspect">
                            <aop:pointcut id="ikPoint" expression="execution(* com.jing.spring.aop.IKAspectBiz.*(..))"></aop:pointcut>
                            <aop:before method="aspectBefore" pointcut-ref="ikPoint"></aop:before>
                    </aop:aspect>
            </aop:config>
    </beans>
    
  • 报错:org.aspectj.weaver.reflect.ReflectionWorld$ReflectionWorldException

    Caused by: java.lang.NoClassDefFoundError: org/aspectj/weaver/reflect/ReflectionWorld$ReflectionWorldException
        at java.lang.Class.getDeclaredConstructors0(Native Method)
        at java.lang.Class.privateGetDeclaredConstructors(Class.java:2671)
        at java.lang.Class.getConstructor0(Class.java:3075)
        at java.lang.Class.getDeclaredConstructor(Class.java:2178)
        at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:80) ... 66 more Caused by: java.lang.ClassNotFoundException: org.aspectj.weaver.reflect.ReflectionWorld$ReflectionWorldException at java.net.URLClassLoader.findClass(URLClassLoader.java:381) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ... 71 more
    
  • 原因:Spring AOP 虽然有自己的AOP功能,但是它是依赖AspectJ来实现的。使用maven搭建的项目pom.xml中,没有引入aspectjweaver包。

  • 解决办法:在pom.xml中引入aspectjweaver包。

    <!-- https://mvnrepository.com/artifact/org.aspectj/aspectjweaver -->
            <dependency>
                <groupId>org.aspectj</groupId>
                <artifactId>aspectjweaver</artifactId>
                <version>1.9.2</version>
            </dependency>
    
  • 测试成功

    Spring错误——Spring AOP——org.aspectj.weaver.reflect.ReflectionWorld$ReflectionWorldException

  • Next

点赞
收藏
评论区
推荐文章
Easter79 Easter79
3年前
spring集成JMS activeMQ 头文件
<beansxmlns"http://www.springframework.org/schema/beans"xmlns:xsi"http://www.w3.org/2001/XMLSchemainstance"xmlns:amq"http://activemq.apache.org/schema/core"
Stella981 Stella981
3年前
Spring MVC 配置文件dispatcher
1.<?xmlversion\"1.0"encoding\"UTF8"?2.<beansxmlns\"http://www.springframework.org/schema/beans"3.xmlns:mvc\"http://www.springframework.org/schema/mvc"4.xml
Stella981 Stella981
3年前
Spring 使用注解方式进行事务管理
使用步骤:步骤一、在spring配置文件中引入<tx:命名空间<beansxmlns"http://www.springframework.org/schema/beans" xmlns:xsi"http://www.w3.org/2001/XMLSchemainstance" xmlns:tx"http
Stella981 Stella981
3年前
Dubbo通过注解实现RPC调用
启动Dubbo服务有2个方式,1是通过xml配置,2是通过注解来实现,这点和Spring相似。采用XML配置如下:<?xmlversion"1.0"encoding"UTF8"?<beansxmlns"http://www.springframework.org/schema/beans"
Wesley13 Wesley13
3年前
Spring中hibernateTemplate的使用
1.<?xmlversion\"1.0"encoding\"UTF8"?2.<beansxmlns\"http://www.springframework.org/schema/beans"3.xmlns:xsi\"http://www.w3.org/2001/XMLSchemainstance"xmlns:con
Stella981 Stella981
3年前
Spring Task 定时任务
推荐使用基于配置XML的形式!!!     //首先要定义schema 空间     <?xml version"1.0" encoding"UTF8"?          <beans xmlns"http://www.springframework.org/schema/beans"         
Stella981 Stella981
3年前
Redis在SSM框架的使用(三)
Spring整合springdataredis1、springredis.xml<?xmlversion"1.0"encoding"UTF8"?<beansxmlns"http://www.springframework.org/schema/beans"xmlns:xsi"http
Easter79 Easter79
3年前
Spring之级联属性
新建XML文件<?xmlversion"1.0"encoding"UTF8"?<beansxmlns"http://www.springframework.org/schema/beans"xmlns:xsi"http://www.w3.org/2001/XMLSchemainsta
Stella981 Stella981
3年前
Spring+Mybatis+Velocity整合(3):整合Mybatis
正式开始配置关键内容,这是硬货 1、新建spring配置文件,起名为applicationContext.xml,放在src/main/resources/spring目录下。 内容如下:<?xmlversion"1.0"encoding"UTF8"?<beansxmlns"http://www.sprin
Wesley13 Wesley13
3年前
ActiveMQ的spring配置文件
从官网copy出来,做了部分修改:1<?xmlversion"1.0"encoding"UTF8"?2<beansxmlns"http://www.springframework.org/schema/beans"3xmlns:xsi"http://www.w3.org/2
Easter79
Easter79
Lv1
今生可爱与温柔,每一样都不能少。
文章
2.8k
粉丝
5
获赞
1.2k