在项目中,我们使用注释来定义方面。
不幸的是,我无法让 Eclipse 在建议的方法旁边显示标记。
在另一个项目中,我们使用 XML 来定义方面,并且 Eclipse 显示标记。
最好我发布一些代码来澄清:
首先要建议一个 bean:
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()
旁边看到一个红色箭头,表明建议这样做。
我错过了什么?
最佳答案
您的 Eclipse 上安装了 STS 插件吗?它应该可以在 Help
> Eclipse Marketplace
关于java - Eclipse 中建议方法的标记,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8508215/