[Spring MVC] 서비스 계층

인자약·2023년 11월 26일
0

Spring

목록 보기
4/9
post-thumbnail

📕 Chapter - 서비스 계층에서의 DI

✏️ [기본] DI를 통한 서비스 계층 ↔ API 계층 연동

  • 애플리케이션에 있어 Service는 도메인 업무 영역을 구현하는 비즈니스 로직을 처리하는 것을 의미한다.
  • Controller 클래스에 @RestController 애너테이션을 추가하면 Spring Bean으로 등록된다.
  • Service 클래스에 @Service 애너테이션을 추가하면 Spring Bean으로 등록된다.
  • 생성자 방식의 DI는 생성자가 하나일 경우에는 @Autowired 애너테이션을 추가하지 않아도 DI가 적용된다.

✏️ [기본] 매퍼(Mapper)를 이용한 DTO 클래스 ↔ 엔티티(Entity) 클래스 매핑

@Mapper(componentModel = "spring")  // (1)
public interface MemberMapper {
    Member memberPostDtoToMember(MemberPostDto memberPostDto);
    Member memberPatchDtoToMember(MemberPatchDto memberPatchDto);
    MemberResponseDto memberToMemberResponseDto(Member member);
}
  • Mapper를 사용해서 DTO 클래스와 Entity 클래스 간의 관심사를 분리할 수 있다.
  • Mapper를 개발자가 직접 구현하기보다는 MapStruct 같은 매핑 라이브러리를 사용하는 것이 생산성 측면에서 더 나은 선택이다.
profile
인자약velog

0개의 댓글