Я работаю над большим приложением Spring Boot и хочу представить приложение. Поскольку мне нужны указатели точек if, мне нужно больше, чем Spring AOP. Но:
- Я явно не определяю свой аспект как аспект весны, но, похоже, он обрабатывается весной
-Если я определил аспект в файле «.js», он не найден ткачом.
Я очень внимательно следовал инструкции в https://www.baeldung.com/aspectj. В основном я использую плагин Weaver для моего проекта maven и регистрирую аспект в файле "aop.xml".
Как я могу отделить жизненный цикл моего аспекта от весны?
package myApp;
public aspect MyAspect {
pointcut prepInFile() :
execution(public void MySpringBootApp.execute());
after(): MyMethod() {
System.out.println("*** I am here ***");
}
}
<aspectj>
<aspects>
<aspect name="myApp.MyAspect"/>
<weaver options="-verbose -showWeaveInfo">
<include within="myApp"/>
</weaver>
</aspects>
</aspectj>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.10</version>
<configuration>
<argLine>
-javaagent:"${settings.localRepository}"/org/aspectj/
aspectjweaver/${aspectj.version}/
aspectjweaver-${aspectj.version}.jar
</argLine>
<useSystemClassLoader>true</useSystemClassLoader>
<forkMode>always</forkMode>
</configuration>
</plugin>
</plugins>
</build>