我创建了一个新的 Spring boot 项目,并试图实现一些 AOP 问题。但是,我的代码根本无法识别 AOP 中的类。我检查并确认spring-aop-5.0.7.RELEASE.jar确实存在于 Maven 依赖项和 JRE 运行时库中。我的代码还很简单:@Aspect@Componentpublic class LoggingAspect { @Around("execution(* com.springboot.service.*(..)) ") public Object logAround(ProceedingJoinPoint joinPoint ) throws Throwable { }}但是在这段代码中Aspect cannot be resolved to a type,对于其他注释和类(如Joinpointand )也是如此@Around。其他 Spring 注释和类工作得很好,例如。@Component、@Controllers 等,项目本身在没有 AOP 的情况下运行良好。我已经尝试清理和重建项目。我能缺少什么。任何帮助表示赞赏。
2 回答
守着星空守着你
TA贡献1799条经验 获得超8个赞
@Aspect位于spring-aspects.jar它的依赖项或其中之一。将其添加为依赖项:
<!-- https://mvnrepository.com/artifact/org.springframework/spring-aspects -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aspects</artifactId>
<version>5.0.7.RELEASE</version>
</dependency>
翻阅古今
TA贡献1780条经验 获得超5个赞
将@Aspect与@Around(和其他类似)注解是的一部分,org.aspectj aspectjweaver这是一个神器在你的版本可选编译依赖spring-aop。
你必须明确地包含它
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjweaver</artifactId>
<version>1.8.13</version>
</dependency>
添加回答
举报
0/150
提交
取消