【问题标题】:AspectJ ITDs : introduction of methods dynamically based on reflectionAspectJ ITDs:基于反射动态引入方法
【发布时间】:2015-06-01 22:56:13
【问题描述】:

是否可以在使用 AspectJ 的接口上基于使用反射 API 在另一个接口中定义的方法动态引入方法定义?

例如: 给一个接口A

public interface A {
    Integer getNext();
}

我想在接口 B 中引入相同的方法名称,但返回类型如下:

public interface B {
    Property<Integer> getNext();
}

谢谢

【问题讨论】:

    标签: java reflection aop aspectj


    【解决方案1】:

    您可以通过使用 AspectJ 现在支持的注释处理器来实现这一点。注释处理器会发现 A 中的方法,并可以生成一个方面,将该方法引入 B 中。生成一个方面的示例注释处理器如下:

    https://eclipse.org/aspectj/doc/released/README-182.html

    所有这些都将在编译时完成(不确定这对您来说是否足够动态)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-22
      • 2016-11-14
      • 1970-01-01
      相关资源
      最近更新 更多