В проекте мы используем аннотации для определения аспектов.
К сожалению, я не могу заставить затмение показывать маркер рядом с рекомендованными методами.
В другом проекте мы используем XML для определенияаспекты и затмение показывают маркеры.
Лучше всего я отправлю некоторый код, чтобы уточнить:
Сначала рекомендуется сообщить боб:
package aop.test;
import org.springframework.stereotype.Service;
@Service
public class Worker {
public void work() {}
}
Затем аспект:
package aop.test;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;
import org.springframework.stereotype.Service;
@Aspect
@Service
public class WorkerLogger {
@Before("execution(void aop.test.Worker.work())")
public void log() {
System.out.println("working...");
}
}
И, наконец, основной метод для подготовки ApplicationContext, получения bean-компонента и запуска рекомендованного метода:
package aop.test;
import org.springframework.aop.aspectj.annotation.AnnotationAwareAspectJAutoProxyCreator;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
public class Main {
public static void main(String[] args) {
AnnotationConfigApplicationContext context;
context = new AnnotationConfigApplicationContext();
context.register(AnnotationAwareAspectJAutoProxyCreator.class);
context.scan("aop.test");
context.refresh();
context.getBean(Worker.class).work();
}
}
Я попробовал это в eclipse с использованием плагина STS и самого STS.Я никогда не получаю красную стрелку рядом с work()
, указывающую на то, что рекомендуется.
Что мне не хватает?