티스토리 뷰
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
최근에 올라온 글
최근에 달린 댓글
TAG
- LEVEL2
- 토스페이먼츠
- 프로그래머스
- for
- CompositionAPI
- springboot
- vuex
- JWT
- Vue.js3
- 다음 큰 숫자
- mybatis구현
- pinia
- java 플레이그라운드
- 스프링부트
- 객체 지도
- 함께모으기
- 짝지어제거하기
- script setup
- 책리뷰
- 정수형으로 변환
- 맥 error
- SpringSecurity
- 리눅스마스터2급
- 타임리프
- vue.js
- 객체지향
- 객체지향의 사실과 오해
- 한권으로끝내기리눅스마스터2급
- 알고리즘
- it책 리뷰
- Total
- Today
- Yesterday