Bean属性访问和注释

时间:2011-11-02 14:04:19

标签: java reflection apache-commons-beanutils

是否有任何java库允许我使用BeanUtils,如属性访问bean.prop1.prop2,同时允许访问getter / field本身的注释?

例如,我有一个看起来像这样的bean类:

public class Child {
  @SomeCustomAnnotation
  private String name;
  //standard bean getter setters
  }

public class Parent {
  private Child child;
  //standard bean getter setters
}

我希望不仅能够检索我正在查找的属性的值,还能够检索在该字段上注释的任何注释,这些注释的值将被返回:

String childsName = SomeLibrary.getValue(parent, "child.name");
Annotation[] annotationsOnChildsName = SomeLibrary.getAnnotations(parent, "child.name");

是否存在允许这两种功能的库?我可以使用Commons BeanUtils对值进行纯属性访问,使用Plain Reflection来获取属性的注释,但似乎没有办法将两种能力结合起来。

1 个答案:

答案 0 :(得分:3)

除非我遗漏了某些东西,否则你只能反思Field

Field f = Parent.class.getField("name");
Object value = f.get(parent);
f.getAnnotations();