AspectJ ITD:基于反射动态引入方法
问题描述:
是否可以使用AspectJ动态地基于另一个使用反射API定义的方法在接口上引入方法定义?AspectJ ITD:基于反射动态引入方法
例如: 给人提供接口的
public interface A {
Integer getNext();
}
我想用另一种返回类型,像这样采用同样的方法名到界面B:
public interface B {
Property<Integer> getNext();
}
谢谢
答
您可以通过使用AspectJ现在支持的注释处理器来实现此目的。注解处理器会发现在A中的方法,并可能产生,介绍该方法进入B.产生一个方面的示例注释处理器一个方面是在这里:
https://eclipse.org/aspectj/doc/released/README-182.html
所有这将在编译时进行(不确定这对你来说足够动态)。