在新的、简单的 Spring 引导项目中找不到 @Aspect(编译时)
@Aspect not found (compile-time) in new, simple Spring Boot Project
在 Spring Boot 中使用 Spring AOP 的所有示例(我发现)都指的是创建一个 Aspect/Advice,如下所示:
@Aspect
@Component
public class ExampleAspect {
...
}
当我这样做时,出现错误 "Aspect cannot be resolved to a type"。
None 其他 AOP 相关注释似乎也可用。我正在使用 Spring Boot 1.5.8 并且 spring-aop 在类路径上可用。我还需要做什么或添加到类路径以启用 Spring AOP?
spring-aop 4.3.13 的 POM 包括
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjweaver</artifactId>
<version>1.8.9</version>
<scope>compile</scope>
<optional>true</optional>
</dependency>
由于此依赖项是可选的,因此必须在您的项目 POM 中明确列出。将它添加到我的项目 POM(删除可选元素)解决了编译问题。
或者,spring-boot-aop-starter POM 可以指定为父 pom,并明确列出 spring-aop 和 aspectjweaver 作为依赖项。
在 Spring Boot 中使用 Spring AOP 的所有示例(我发现)都指的是创建一个 Aspect/Advice,如下所示:
@Aspect
@Component
public class ExampleAspect {
...
}
当我这样做时,出现错误 "Aspect cannot be resolved to a type"。 None 其他 AOP 相关注释似乎也可用。我正在使用 Spring Boot 1.5.8 并且 spring-aop 在类路径上可用。我还需要做什么或添加到类路径以启用 Spring AOP?
spring-aop 4.3.13 的 POM 包括
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjweaver</artifactId>
<version>1.8.9</version>
<scope>compile</scope>
<optional>true</optional>
</dependency>
由于此依赖项是可选的,因此必须在您的项目 POM 中明确列出。将它添加到我的项目 POM(删除可选元素)解决了编译问题。
或者,spring-boot-aop-starter POM 可以指定为父 pom,并明确列出 spring-aop 和 aspectjweaver 作为依赖项。