java - Bean 属性访问和注解

标签 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 获取属性注释,但似乎没有办法将这两种能力结合起来。

最佳答案

除非我遗漏了一些东西,否则你可以只是反射的 Field

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

关于java - Bean 属性访问和注解,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7981651/

相关文章:

reflection - 通过反射调用数据类copy()

c# - 查找具有特定属性的所有类

java - 使用 Bean Utils 填充 POJO 时为字段设置默认值

java - 我如何将泛型与 commons beanutils 一起滥用?

java - 是否有一个简单的工作流程可以从具有 hibernate 映射的类生成数据库架构?

java - 从我的 java android 应用程序执行 python 脚本

c# - 为什么我需要指定多种类型的绑定(bind)标志才能获取单个字段的信息?

java - Netbeans 平台项目 - 具有依赖项的包装 jar 文件的问题

java - 如何在 Grizzly 中设置默认索引页

java - 使用 java/javafx 更改 Linux 中的 Activity/应用程序菜单栏