Невозможно разрешить типы Spring AOP в загрузочном проекте Spring - PullRequest
0 голосов
/ 12 сентября 2018

Я создал новый загрузочный проект Spring и пытался реализовать некоторые проблемы с АОП.

Однако мой код просто не распознает классы из АОП.Я проверил и подтвердил, что 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 и то же самоедля других аннотаций и классов, таких как Joinpoint и @Around.Другие весенние аннотации и классы работают отлично, напр.@Component, @Controllers и т. Д., И сам по себе проект работает нормально без AOP.

Я уже пытался очистить и перестроить проект.

Чего не хватает.Любая помощь приветствуется.

Ответы [ 2 ]

0 голосов
/ 12 сентября 2018

Аннотации @Aspect и @Around (и другие подобные) являются частью артефакта org.aspectj aspectjweaver, который является необязательной зависимостью компиляции в вашей версии spring-aop.

Вы должны включить это явно

<dependency>
    <groupId>org.aspectj</groupId>
    <artifactId>aspectjweaver</artifactId>
    <version>1.8.13</version>
</dependency>
0 голосов
/ 12 сентября 2018

@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>
...