@aspect注解无法添加

在学习Spring框架的AOP模块时,遇到@Aspect注解无法解析的问题。尽管已引入了spring-context、aspectjweaver和spring-aspects相关依赖,但问题依然存在。分析后发现,aspectjweaver依赖的runtime属性导致编译时未将其加入classpath。移除该属性后,@Aspect注解被成功解析。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

项目场景:

提示:这里简述项目相关背景:

因为毕设要求,在学后端的spring框架,然后在学到aop的时候,发现@Aspect注解无法进行解析,Cannot resolve symbol ‘Aspcet’。


问题描述

提示:这里描述项目中遇到的问题:

例如:数据传输过程中数据不时出现丢失的情况,偶尔会丢失一部分数据
APP 中接收数据代码:

在这里插入图片描述
如图所示,确认好已经添加了aop所需要的依赖之后,项目不能正常解析该@aspect注解,Cannot resolve symbol ‘Aspcet’。


原因分析:

提示:这里填写问题的分析:

在分析原因的时候已经确认好,完全导入了spring-aop所需要的依赖。

<!--        ioc的依赖-->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>5.3.19</version>
        </dependency>
<!--        aop的依赖  aspectjweaver 和spring-asoect-->
        <dependency>
            <groupId>org.aspectj</groupId>
            <artifactId>aspectjweaver</artifactId>
            <version>1.9.9.1</version>
            <scope>runtime</scope>
        </dependency>

        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-aspects</artifactId>
            <version>5.3.19</version>
        </dependency>


解决方案:

提示:这里填写该问题的具体解决方案:

但是发现在导入

        <dependency>
            <groupId>org.aspectj</groupId>
            <artifactId>aspectjweaver</artifactId>
            <version>1.9.9.1</version>
            <scope>runtime</scope>
        </dependency>

这个依赖时,多了个 runtime属性,发现它:
一般是运行和测试环境使用,编译时候不用加入classpath,打包时候会打包到目标包中。一般是通过动态加载或接口反射加载的情况比较多。也就是说程序只使用了接口,具体的时候可能有多个,运行时通过配置文件或jar包扫描动态加载的情况。典型的包括:JDBC驱动等。
于是将这一行代码注释掉,@Aspect注解添加成功!

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值