无法解析 Spring boot 项目中的 Spring AOP 类型

我创建了一个新的 Spring boot 项目,并试图实现一些 AOP 问题。


但是,我的代码根本无法识别 AOP 中的类。我检查并确认spring-aop-5.0.7.RELEASE.jar确实存在于 Maven 依赖项和 JRE 运行时库中。


我的代码还很简单:


@Aspect

@Component

public 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 的情况下运行良好。


我已经尝试清理和重建项目。


我能缺少什么。任何帮助表示赞赏。


杨魅力
浏览 259回答 2
2回答

守着星空守着你

@Aspect位于spring-aspects.jar它的依赖项或其中之一。将其添加为依赖项:<!-- https://mvnrepository.com/artifact/org.springframework/spring-aspects --><dependency>&nbsp; &nbsp; <groupId>org.springframework</groupId>&nbsp; &nbsp; <artifactId>spring-aspects</artifactId>&nbsp; &nbsp; <version>5.0.7.RELEASE</version></dependency>

翻阅古今

将@Aspect与@Around(和其他类似)注解是的一部分,org.aspectj aspectjweaver这是一个神器在你的版本可选编译依赖spring-aop。你必须明确地包含它<dependency>&nbsp; &nbsp; <groupId>org.aspectj</groupId>&nbsp; &nbsp; <artifactId>aspectjweaver</artifactId>&nbsp; &nbsp; <version>1.8.13</version></dependency>
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java