java - 我可以将注释注入(inject)到 pojo 中吗

标签 java reflection annotations introspection

假设我有一个看起来像这样的 POJO。

public class SomeDataClass {

    @SomeProperty1
    String myField1;

    @SomeProperty1
    String myField2;

    ...

    getters()... 
    setters()... // you know the drill

}

我希望能够向实例化对象综合注入(inject)注释。如果我使用反射来检查新的 POJO,它实际上看起来像这样:

public class SomeDataClass {

    @SomeProperty1
    String myField1;

    @SomeProperty1
--> @SomeProperty2 <--- the logic flow would change depending on whether this annotation is present
    String myField2;

    ...

    getters()... 
    setters()... // you know the drill

}

这可能吗?我怎样才能完成这样的事情?

最佳答案

Annotations只是语法元数据提供者...

因此,您应该通过反射获取给定类中声明的字段的名称,并使用所需的标准来区分其中一个字段需要@SomeProperty2提供的信息,之后在运行时添加来自@SomeProperty2的信息只是setter或getter的正常使用...

关于java - 我可以将注释注入(inject)到 pojo 中吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37844887/

相关文章:

java - 使用 twitter4j 的问题

java - 通过反射查找字段存在与否

java - 动态实例化类?

Django:根据两个字段之间的差异对模型进行排序

java - 我试图让球逐渐移动

java - 避免 instanceof

java - Java 意义上的 "annotation"和 iPhone SDK 意义上的 0x104567910 有什么区别?

java - Spring @Value 将空字符串拆分为列表

java - javafx中的ListView,添加多个单元格

java - 在运行时重写或修改 Java 类构造函数