티스토리 뷰

Backend/SpringBoot

ModelMapper

Mo'Greene 2022. 12. 25. 20:26

DTO -> VO(아니면 Entity) 혹은 VO -> DTO 의 변환이 일어나야할때,

각 클래스에서 필요할때마다 생성자를 만들어서 넣어주었던 2달전의 내가 생각난다.

 

ModelMapper는 getter/setter 등을 이용해 객체의 정보를 다른 객체로 복사하는 기능을 제공한다.


기본 설정(build.gradle)
// https://mvnrepository.com/artifact/org.modelmapper/modelmapper
implementation group: 'org.modelmapper', name: 'modelmapper', version: '3.0.0'

 

 

VO
@Getter
@ToString
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class Vo {

    private Long id;
    private String title;
    private LocalDate dueDate;
    private String writer;

}

 

DTO
@ToString
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class Dto {
    private Long id;

    private String title;

    private LocalDate dueDate;

    private String writer;
}

 

예시를 위해 만든 아주 간단한 Vo, Dto.

 

서비스 레이어에서 데이터를 전달하기 위한 용도로서 Dto를 담아 Vo를 전달한다고 하면

public void register(Dto dto) {
		
        ...

        Vo vo = modelMapper.map(dto, Vo.class);
        
        ...
    }

매개변수로 받은 dto를 통해 Vo.class와 묶어주어 vo라는 객체를 만드는 아주 쉬운 과정이 있었다.

 

'Backend > SpringBoot' 카테고리의 다른 글

ModelMapper Strategies(전략)이란  (0) 2022.12.28
Ajax 와 Json, 그리고 Rest방식  (1) 2022.12.26
Thymeleaf 기본문법  (0) 2022.12.23
Attempt to recreate a file for type * 에러  (0) 2022.12.23
인스턴스  (0) 2022.11.02
Comments