티스토리 뷰
반응형
개요
사용자가 기존 데이터를 수정하게 되었을 때, 기존 데이터를 수정된 데이터로 바꾸는 과정이 필요합니다. 이런 경우, 원본 Domain(혹은 DTO)에게 수정된 내용을 주입하기 위해서 Setter를 이용하는 방법이 진행됩니다. 다만, 필드가 많은 경우 무의미하게 Setter가 많아지게 되고 코드가 길어지게 되는 문제가 생깁니다. 이런 경우 Setter대신 BeanUtils.copyProperties() 메소드를 이용하면 단 한줄로 과정이 처리가 됩니다.
Setter로 설정하는경우
public Book modifyBook(Book book) {
Book bookById = bookRepository.findBookById(book.getId()); //기존 데이터
bookById.setName(book.getName());
bookById.setAuthor(book.getAuthor());
bookById.setPublicationDate(book.getPublicationDate());
bookById.setIsbn(book.getIsbn());
bookById.setPublisher(book.getPublisher());
. . .
}
BeanUtils.copyProperties()를 사용한 경우
public Book modifyBook(Book book) {
Book bookById = bookRepository.findBookById(book.getId()); //기존 데이터
BeanUtils.copyProperties(book, bookById);
. . .
}
반응형
'Spring Framework' 카테고리의 다른 글
DI (Dependency Injection)가 뭘까? (0) | 2019.02.18 |
---|---|
POJO - (Plain Old Java Object)란 뭘까? (9) | 2019.02.15 |
Spring Security - Filter, FilterChain (0) | 2018.11.20 |
스프링으로 HTTP 요청 파라미터 전달받기 (0) | 2018.10.24 |
Bean, IoC(Inverstion of Control) (0) | 2018.10.23 |
댓글