4
是否有任何Java库允许我使用BeanUtils,如属性访问bean.prop1.prop2
,同时允许访问getter/field本身的注释?Bean Property Access and Annotations
例如,我有一个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来获取属性的注释,但似乎没有办法将两种能力结合起来。
这里的细微差别是,我想能够支持通过标准的Java bean约定访问(即'的getName()'和字段'name')以及嵌套属性 – BuffaloBuffalo
我在想这个,不确定这是否真的可行,也就是说:你只能根据约定做到这一点。例如,我的专用字段可能与getter setter的名称不同,甚至可能是同一类型。 –
'getField'只给出可公开访问的字段,使用'getDeclaredField'获取受保护的字段 – gerrytan