Java: как скопировать свойства из одного компонента в другой

Опубликовано: 2018-06-26

Как скопировать свойства из одного компонента в другой

Большинство разработчиков Java привыкли создавать классы Java, которые соответствуют шаблонам именования JavaBeans для методов получения и установки свойств. Затем естественно обращаться к этим методам напрямую, используя вызовы соответствующих методов getXxx и setXxx .

Однако в некоторых случаях требуется динамический доступ к свойствам объекта Java (без скомпилированных знаний о вызываемых методах получения и установки свойств).

Примеры использования включают в себя:

  • Создание языков сценариев, которые взаимодействуют с объектной моделью Java (например, Bean Scripting Framework).
  • Создание процессоров языка шаблонов для веб-презентаций и аналогичных целей (таких как JSP или Velocity).
  • Создание пользовательских библиотек тегов для сред JSP и XSP (например, Apache Taglibs, Struts, Cocoon).
  • Использование ресурсов конфигурации на основе XML (таких как сценарии сборки Ant, дескрипторы развертывания веб-приложений, файл Tomcat server.xml ).

Джакарта Коммонс BeanUtils Библиотека имеет множество функций для работы с JavaBeans. Версия BeanUtils 1.8.3 зависит от CommonsLogging library .

Кроме того, в этом руководстве я использовал ToStringBuilder в библиотеке Commons Lang для вывода свойств JavaBeans в этом примере.

Другой должен прочитать:

  • Как сгенерировать дамп потока Java программно
  • Как переопределить методы equals() и hashcode() в Java

Это простой пример Java, демонстрирующий способ копирования свойств из одного компонента в другой.

CrunchifyBeanCopyExample.java

CrunchifyBeanCopyFrom.java

CrunchifyBeanCopyTo.java

Выход:

Вот зависимости maven:

Зависимость Apache Common Beanutils от Maven

Зависимость Apache Commons Logging от Maven