【发布时间】:2021-05-04 10:54:33
【问题描述】:
如果有代码在同一个项目中同时使用带有运行时编织/使用代理的 Spring AOP 和编译时编织的代码,Spring Boot 会做什么。例如,假设您有一个看起来像这样的方面:
@Aspect
@Component
public class TestAspect {
// ...
}
@Component 的存在意味着我们正在使用 Spring AOP 和代理,而你的 pom.xml 中有这个
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>aspectj-maven-plugin</artifactId>
<version>1.11</version>
<executions>
<execution>
<goals>
<goal>compile</goal> <!-- use this goal to weave all your main classes -->
<goal>test-compile</goal> <!-- use this goal to weave all your test classes -->
</goals>
</execution>
</executions>
</plugin>
这意味着我们正在使用编译时编织。
哪个优先?是使用编译时编织还是代理?
【问题讨论】:
标签: java spring aop aspectj spring-aop