Я хочу использовать аспекты в Java, которые имеют некоторые ограничения ресурсов, поэтому я не могу использовать аспекты Spring из-за большого объема памяти.
Так что я хочу обойтись без Spring, это создать собственную аннотацию, которая вызовет аспект у аннотированных методов.
У меня есть некоторая реализация, но я не вижу запуска Apect при запуске метода. Вот что у меня есть:
Моя пользовательская аннотация
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
public @interface MyCustomAnnotation {}
Где используется аннотация
@MyCustomAnnotation
public void someMethod() {
System.out.println("Method runnning...");
}
Аспект, который я создал
@Aspect
public class MyAspect {
@Pointcut("execution(* *(..))")
public void callAt() {}
@Around(("callAt()"))
public void doSomething(ProceedingJoinPoint point) {
point.proceed();
System.out.println("Aspect is runnning...");
}
Конфигурации, которые есть в моем файле Gradle
dependencies {
classpath "gradle.plugin.aspectj:gradle-aspectj:0.1.6"
}
apply plugin: 'aspectj-gradle'
compile 'org.aspectj:aspectjrt:1.9.1'
compile 'org.aspectj:aspectjweaver:1.9.1'
Понятия не имею, почему аспект не запускается, я не вижу сообщения об этом аспекте в консоли, когда приложение запускается.
Есть идеи, что мне не хватает?