Java BeanUtils - 背景(DynaBeans)



描述

借助 `PropertyUtils` 类,你可以在现有的 JavaBean 类上授予动态属性访问权限,而无需对其进行更改。通过使用动态属性访问,即使不编写 Java 类来呈现这些属性,也可以用 JavaBean 的形式表示动态计算的属性值。此特性不仅可以节省你的时间,还可以处理一组属性被动态指定的这种情况。

`BeanUtils` 包生成 `DynaBean` 接口,该接口实现了接口方法,以及 `DynaClass` 接口,通过定义 DynaBeans 组支持的一组属性来实现该接口。`java.lang.Class` 提供了 JavaBean 类实例支持的属性。

以下简单代码片段演示了如何访问 DynaBean 属性

DynaBean car = ...; // Details depend on which DynaBean implementation you use
String companyName = (String) car.get("companyName");
Model modelName = (Model) car.get("model");
Object subordinate = car.get("subordinate", 2);
 

`PropertyUtils` 属性的 getter 和 setter 方法可用于访问 DynaBeans 中的属性。例如,`PropertyUtils.getSimpleProperty()` 方法是一个 DynaBean 实现,当你调用它时,它会明确转换为合适的 DynaBean getter 方法。因此,应用程序的动态属性访问基于 `PropertyUtils` API,可用于检索 JavaBeans 或 DynaBeans。

广告