Я написал очень простой аспект с Spring AOP. Это работает, но у меня есть некоторые проблемы с пониманием того, что действительно происходит. Я не понимаю, почему я должен добавить aspectjweaver.jar? Документация Spring -AOP четко заявляет, что мне не нужен компонентный компилятор или ткач, если я просто использую Spring -AOP:
Время выполнения AOP по-прежнему является чистым Spring AOP, и нет никакой зависимости от компилятора или ткача AspectJ.
Моя конфигурация выглядит следующим образом:
<aop:aspectj-autoproxy />
@Aspect
@Service
public class RemoteInvocationAspect {
@Before("execution(* at.test.mypackage.*.*(..))")
public void test() {
System.out.println("test");
}
...
Я также пробовал XML-конфигурацию, но ничего не менял. Может быть, я мог бы просто отпустить его, но я действительно хотел бы понять, почему используется аспект-ткач? Если я не добавляю зависимость в maven, я получаю java.lang.ClassNotFoundException: org.aspectj.weaver.reflect.ReflectionWorld$ReflectionWorldException