Java: 한 빈에서 다른 빈으로 속성을 복사하는 방법

게시 됨: 2018-06-26

한 빈에서 다른 빈으로 속성을 복사하는 방법

대부분의 Java 개발자는 속성 getter 및 setter에 대한 JavaBeans 이름 지정 패턴을 준수하는 Java 클래스를 만드는 데 익숙합니다. 그런 다음 해당 getXxxsetXxx 메서드에 대한 호출을 사용하여 이러한 메서드에 직접 액세스하는 것이 자연스럽습니다.

그러나 Java 객체 속성에 대한 동적 액세스(호출할 속성 getter 및 setter 메서드에 대한 컴파일된 지식 없이)가 필요한 경우가 있습니다.

사용 사례의 예는 다음과 같습니다.

  • 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 에 종속됩니다.

또한 이 튜토리얼에서는 Commons Lang 라이브러리의 ToStringBuilder 를 사용하여 이 예제에서 JavaBeans의 속성을 출력했습니다.

다른 사람은 다음을 읽어야 합니다.

  • 프로그래밍 방식으로 Java 스레드 덤프를 생성하는 방법
  • Java에서 equals() 및 hashcode() 메서드를 재정의하는 방법

이것은 한 Bean에서 다른 Bean으로 속성을 복사하는 방법을 보여주는 간단한 Java 예제입니다.

CrunchifyBeanCopyExample.java

CrunchifyBeanCopyFrom.java

CrunchifyBeanCopyTo.java

산출:

다음은 maven 종속성입니다.

Apache Common Beanutils Maven 종속성

Apache Commons Logging Maven 종속성