Я хотел бы включить AspectJ в свое приложение, чтобы понять, как он работает. I d нравится не использовать Spring AOP, а «чистый» aspectj.Начало работы с aspectj без Spring AOP
Вот что у меня есть:
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjrt</artifactId>
<version>1.6.11</version>
</dependency>
И:
package tmp;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;
import org.aspectj.lang.annotation.Pointcut;
@Aspect
public class LoggingAspect {
@Pointcut("execution(* *.*(..))")
void anyMethodCall() {
}
@Before("anyMethodCall()")
public void beforeMethod() {
System.out.println("Aspect Before Method");
}
}
Когда я исполняю мое приложение, сообщение не печатается.
Как я понимаю, beforeMethod
следует вызывать перед любым методом любого класса во всем проекте.
Я предполагаю, что я что-то забыл, но еще не нашел хорошего учебника, где мне было ясно, как это работает.
Куда я могу обратиться сюда?
Если вы только начинаете, пойдите с новейшей версией aspectj (1.8.9 на данный момент), а не с многолетней версией. –