项目场景:
提示:这里简述项目相关背景:
因为毕设要求,在学后端的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注解添加成功!