JAVA

[JAVA] BeanUtils.copyProperties 주의사항

오선지♬ 2025. 1. 8. 20:52
728x90
반응형

BeanUtils.copyProperties는 기본적으로 두 번째로 만나는 프로퍼티 이름을 기준으로 값을 복사합니다.

즉, 원본을 사용하고 서로 다른 클래스가 있어도, 프로퍼티 이름과 같은 경우에만 값을 복사합니다.

분리된 항목만 복사할 수 있습니다.

다시 말해, 두 개가 완전히 다른 클래스라면, 프로퍼티 이름과 유형이 일치하는 필드만 복사됩니다.

그 외의 필드나퍼티는 복사할 수 없습니다.

 

class A {
    private String name;
    private int age;
}

class B {
    private String name;
    private int age;
}

A a = new A();
a.setName("John");
a.setAge(25);

B b = new B();
BeanUtils.copyProperties(a, b);

 

중요한 점:

  • BeanUtils.copyProperties기본적으로 getter와 setter를 기반으로 작동하므로, 두 클래스에 이름의 getter와 setter가 있어야 합니다.
  • 복사할 프로퍼티가 다르거나 이름이 일치하지 않으면 복사가 되지 않습니다.
728x90
반응형

'JAVA' 카테고리의 다른 글

[JAVA] Collectors.joining  (0) 2025.01.19
[JAVA] boolean / Boolean  (0) 2025.01.12
[JAVA]BigDecimal null 처리 예제  (0) 2024.12.23
@RequestBody @RequestPart 차이  (0) 2024.12.17
[JAVA] startsWith  (0) 2024.12.13