public class EleAuthApprovalReq extends BaseRequest {
private int companyNo;
private int uno;
private ApprovalStatus approvalStatus;
private int documentId;
private String title;
private String comment;
private EleAuthVacation vacationInfo;
}
public class ApprovalDoc extends BaseCreateAndUpdateModel {
private int companyNo;
private int uno;
private ApprovalStatus approvalStatus;
private String approvalDocNo;
private int documentId;
private String title;
private Date draftDate; // 기안일자
private String interApprovAttachId;
private String comment;
private String createdAt;
private int createdUno;
}
private ApprovalDoc convertToApprovalDoc(EleAuthApprovalReq req) {
ApprovalDoc doc = new ApprovalDoc();
BeanUtils.copyProperties(req, doc);
return doc;
}
BeanUtils.copyProperties( ) 는 Spring Framework에서 제공하는 유틸리티 메서드로,
req 객체의 속성 값을 doc 객체의 동일한 이름을 가진 속성에 복사하는 역할을 합니다.
이 메서드는 두 객체 간의 데이터 전송을 간편하게 해주며, 수동으로 각 속성을 설정하는 번거로움을 줄여줍니다.
예를 들어, req 객체에 name이라는 속성이 있고 doc 객체에도 동일한 이름의 속성이 있다면, req 객체의 name 값이 doc 객체의 name 속성에 복사됩니다. 이 과정에서 두 객체의 속성 이름과 타입이 일치해야 합니다.
private int companyNo;
private int uno;
private ApprovalStatus approvalStatus;
private int documentId;
private String title;
private String comment;
여기서는 6가지의 공통된 속성이 복사가 되므로
6줄의 코드를 1줄로 줄일 수 있게 됩니다.
'FrameWork > Spring' 카테고리의 다른 글
[Spring] 의존 관계 자동 주입( Autometic Dependency Injection) - NoUniqueBeanDefinitionException (0) | 2022.07.22 |
---|