Java BeanUtils - tło

Opis

Standardowe komponenty JavaBeans języka Java mogą być używane do uzyskiwania dostępu do wartości właściwości fasoli przy użyciu odpowiednich metod pobierających. Język Java dostarcza klasę java.beans.Introspector do inspekcji klasy Java w czasie wykonywania. Wskazuje to nazwy właściwości metod pobierających i ustawiających wraz z możliwościami Reflection do dynamicznego wywoływania takich metod. Możesz korzystać z dynamicznego pobierania i ustawiania właściwości fasoli, używając interfejsów API w pakiecie BeanUtils.

Typy właściwości JavaBean są podzielone na trzy typy (niektóre typy właściwości są obsługiwane przez specyfikację JavaBeans, a niektóre są obsługiwane przez pakiet BeanUtils):

  • Simple: Proste właściwości zawierają pojedynczą wartość, którą można pobrać lub zmienić. Możesz użyć typu właściwości, takiego jak prymityw języka Java, taki jak int, prosty obiekt, taki jak java.lang.String , lub obiekt złożony, który jest określany za pomocą języka Java, aplikacji lub biblioteki klas z aplikacją.

  • Indexed: Uporządkowana kolekcja obiektów może być przechowywana we właściwości indeksowanej, do której można uzyskać dostęp indywidualnie za pomocą wartości całkowitej, nieujemnego indeksu lub indeksu dolnego. BeanUtils pakiet zawiera typ danych o nazwie java.util.List musi być indeksowane w opisie JavaBeans.

  • Mapped: Pakiet BeanUtils zawiera typ danych o nazwie java.util.Map, który powinien być mapowany w standardowych interfejsach API JavaBeans, a poszczególne wartości można ustawić i uzyskać do nich dostęp za pomocą klucza o wartości String.

Możesz pobrać i ustawić wartości właściwości dla typów danych przy użyciu metod interfejsu API określonych w klasie PropertyUtils . Rozważ poniższy fragment kodu dwóch klas bean zdefiniowanych za pomocą metod pobierających i ustawiających :

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);
}