- Java BeanUtils 教程
- Java BeanUtils - 首页
- Java BeanUtils - 概述
- 动态 Bean (DynaBeans)
- 背景
- 基本 DynaBeans
- ResultSetDynaClass
- RowSetDynaClass
- WrapDynaBean
- 延迟加载 DynaBeans
- 数据类型转换
- 背景
- BeanUtils 和 ConvertUtils
- 创建自定义转换器
- 区域感知转换
- 实用工具对象和类
- 实用工具对象和类
Java BeanUtils - 概述
描述
Java BeanUtils 是 Apache Commons 的组件,它源自 Java API,并为 Java 语言提供了组件架构。Java BeanUtils 设计模式使用实用程序类,这些类有助于获取和设置 Java 类上的属性值,从而检索和定义 Bean 属性。
org.apache.commons.beanutils 包包含名为 introspection 的工具,该工具有助于在 Java 类上获取和设置属性值,并在开发工具中以可视化方式显示它们。
JavaBeans 特性
以下是 JavaBeans 的重要特性,这些特性在开发结构中非常有用:
该类应为 public,并提供一个没有参数的公共构造函数。它允许工具和应用程序动态创建 Bean 的新实例,而无需知道将使用哪种 Java 类名,如下所示:
String className = ...; Class beanClass = Class.forName(className); Object beanInstance = beanClass.newInstance();
没有参数的构造函数,其 Bean 的行为可以与其实例化分开配置。这可以通过使用 Bean 的属性来实现,也可以用来修改 Bean 显示的行为或数据。
Bean 属性包含用于访问属性值的 setter 和 getter 方法。这些属性的设计模式可以通过使用属性名称的 set 或 get 前缀来指定,并使用 JavaBeans 规范将第一个字符大写。例如,您可以为属性 first_name 和 last_name 使用 setter 和 getter 方法,如下所示:
public class Employee { public Employee(); // Zero-arguments constructor public String getFirstName(); public void setFirstName(String first_name); public String getLastName(); public void setLastName(String last_name); public String getFullName(); }
如果属性名称存在 getter 和 setter 方法,则 getter 应与 setter 数据类型匹配。在 JavaBean 规范中,您可以拥有多个名称相同但属性类型不同的 setter。
无需为每个属性定义 getter 和 setter 方法。在上面的代码中,fullName 属性没有 setter 方法,它只是一个只读属性。
您可以创建一个 JavaBean,其中没有命名模式的匹配项,方法是使用 getter 和 setter 方法。Java 中的 JavaBean 支持类和 BeanUtils 包可以使用 BeanInfo 类以及 Bean 类来指定属性方法名称。
JavaBeans 规范为事件侦听器提供了设计模式,将 JavaBeans 组合到组件层次结构中,以及 BeanUtils 包的其他有用功能。
外部依赖
您可以为 commons-beanutils 包使用以下外部依赖项: