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

所有这将在编译时进行(不确定这对你来说足够动态)。