Java BeanUtils - Antecedentes

Descripción

Los JavaBeans estándar del lenguaje Java se pueden utilizar para acceder a los valores de propiedad de los beans utilizando los métodos getter adecuados. El lenguaje Java proporciona la clase java.beans.Introspector para inspeccionar una clase Java en tiempo de ejecución. Esto indica los nombres de propiedad de los métodos getter y setter junto con las capacidades de Reflection para llamar a dichos métodos de forma dinámica. Puede utilizar la obtención y el establecimiento de propiedades de bean de forma dinámica utilizando las API del paquete BeanUtils.

Los tipos de propiedades de JavaBean se dividen en tres tipos (algunos tipos de propiedades son compatibles con la especificación JavaBeans y otros son compatibles con el paquete BeanUtils):

  • Simple: Las propiedades simples contienen un valor único que se puede recuperar o modificar. Puede utilizar un tipo de propiedad como el lenguaje Java primitivo como int, un objeto simple como java.lang.String , o un objeto complejo que se especifica utilizando el lenguaje Java, una aplicación o una biblioteca de clases con la aplicación.

  • Indexed: Se puede almacenar una colección ordenada de objetos en la propiedad indexada a la que se puede acceder individualmente mediante un índice o subíndice no negativo de valor entero. El paquete BeanUtils incluye un tipo de datos llamado java.util.List debe estar indexado en la especificación JavaBeans.

  • Mapped: El paquete BeanUtils contiene un tipo de datos llamado java.util.Map que debe mapearse en las API estándar de JavaBeans y los valores individuales se pueden establecer y acceder mediante una clave con valores de cadena.

Puede obtener y establecer los valores de propiedad para los tipos de datos utilizando los métodos API especificados en la clase PropertyUtils . Considere el siguiente fragmento de código de dos clases de frijoles definidas con los métodos getter y setter :

public class Employee {
   public FullName getFullName();
   public void setFullName(String type, FullName fullname);
   public Employee getSubordinate(int index);
   public void setSubordinate(int index, Employee subordinate);
   public String getFirstName();
   public void setFirstName(String first_name);
   public String getLastName();
   public void setLastName(String last_name);
}