목차
- 도메인 Entity
- DTO 클래스 ↔ 엔티티 클래스 매핑
배운 내용
도메인 Entity 클래스 역할
- API 계층에서 전달 받은 요청 데이터를 기반으로 서비스 계층에서 비즈니스 로직을 처리하기 위해 필요한 데이터를 전달 받고, 비즈니스 로직을 처리한 후에는 결과 값을 다시 API 계층으로 리턴해주는 역할
- 서비스 계층에서 데이터 액세스 계층과 연동하면서 비즈니스 로직을 처리하기 위해 필요한 데이터를 담는 역할을 하는 클래스
Lombok
@Getter
, @Setter
: 멤버 변수에 해당하는 getter/setter 메서드 자동 생성
@AllArgsConstructor
: Member 클래스에 추가된 모든 멤버 변수를 파라미터로 갖는 생성자를 자동으로 생성
@NoArgsConstructor
: 파라미터가 없는 기본 생성자를 자동으로 생성
**DTO 클래스 ↔ 엔티티(Entity) 클래스 매핑**
**매퍼(Mapper)**
- DTO 클래스와 엔티티(Entity) 클래스를 서로 변환해주는 클래스
- 도메인 업무 기능이 늘어날때 마다 개발자가 일일이 수작업으로 매퍼(Mapper) 클래스를 만드는 것은 비효율적
**MapStruct를 이용한 Mapper 자동 생성**
MapStruct
- 매퍼(Mapper) 구현 클래스를 자동으로 생성해주는 코드 자동 생성기
@Mapper(componentModel = "spring")
- 매퍼 인터페이스에
@Mapper
애너테이션 추가
componentModel = "spring"
: Spring의 Bean으로 등록
- 구현클래스는 MapStruct가 자동으로 생성
- [프로젝트 명 > Tasks 디렉토리 > build 디렉토리 > build task] 에서 확인가능