Spring 서비스 계층

InSeok·2022년 9월 9일
0

TIL

목록 보기
30/51

목차


  1. 도메인 Entity
  2. 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] 에서 확인가능
profile
백엔드 개발자

0개의 댓글