Java: jak kopiować właściwości z jednego ziarna do drugiego

Opublikowany: 2018-06-26

Jak kopiować właściwości z jednego ziarna do drugiego?

Większość programistów Java jest przyzwyczajona do tworzenia klas Java, które są zgodne ze wzorcami nazewnictwa JavaBeans dla pobierających i ustawiających właściwości. Naturalnym jest wtedy bezpośredni dostęp do tych metod, używając wywołań odpowiednich metod getXxx i setXxx .

Jednak są sytuacje, w których wymagany jest dynamiczny dostęp do właściwości obiektów Java (bez wkompilowanej wiedzy o metodach pobierających i ustawiających właściwości, które mają zostać wywołane).

Przykładowe przypadki użycia obejmują:

  • Tworzenie języków skryptowych, które współdziałają z modelem obiektowym Java (takim jak Bean Scripting Framework).
  • Budowanie procesorów języka szablonów do prezentacji internetowych i podobnych zastosowań (takich jak JSP lub Velocity).
  • Budowanie niestandardowych bibliotek tagów dla środowisk JSP i XSP (takich jak Apache Taglibs, Struts, Cocoon).
  • Zużywanie zasobów konfiguracyjnych opartych na języku XML (takich jak skrypty kompilacji Ant, deskryptory wdrażania aplikacji internetowych, plik server.xml serwera Tomcat).

Jakarta Commons BeanUtils Biblioteka zawiera szereg funkcji do pracy z JavaBeans. Wersja 1.8.3 BeanUtils jest zależna od CommonsLogging library .

Dodatkowo w tym samouczku użyłem ToStringBuilder w bibliotece Commons Lang do wyświetlenia właściwości JavaBeans w tym przykładzie.

Inny musi przeczytać:

  • Jak programowo wygenerować zrzut wątków Java?
  • Jak nadpisać metody equals() i hashcode() w Javie?

To jest prosty przykład Javy, który demonstruje sposób kopiowania właściwości z jednego ziarna do drugiego.

CrunchifyBeanCopyExample.java

CrunchifyBeanCopyFrom.java

CrunchifyBeanCopyTo.java

Wyjście:

Oto zależności od mavena:

Zależność od Apache Common Beanutils Maven

Zależność od Apache Commons Logging Maven