是否可以在侦听更改的变量上创建注释?

时间:2013-07-09 19:30:40

标签: java callback annotations

我有一些看起来像的代码:

public class Custom {

    private int a = 0;
    private int b = 0;

    public void doSomething() { ... }

    public void setA(int a) { this.a = a; doSomething(); }

    public void setB(int b) { this.b = b; doSomething(); }

}

这种模式对我来说很常见,并且发生在我的一些课程中。有没有办法使用Java的注释系统来创建类似的东西:

public class Custom {

    @Callback(method=doSomething)
    private int a = 0;

    @Callback(method=doSomething)
    private int b = 0;

    private void doSomething() { ... }
}

1 个答案:

答案 0 :(得分:2)

注释本身什么都不做。它可以只标记字段,方法,类等。此标记可以由实现某些操作的其他代码使用。

在您的情况下,您可以使用动态代理或字节码工程技术,例如AspectJ。