본문 바로가기
Spring

[SpringBoot With Aws] Spring 웹 계층

by sangfeeeeel 2021. 7. 23.

Spring의 3layer 계층




간단하게 각 영역을 소개하자면 다음과 같습니다.

  • Web Layer
    1. 흔히 사용하는 @Controller와 JSP/Freemarker 등의 뷰 템플릿 영역입니다.
    2. 이외에도 @Filete, 인터셉터, @ControllerAdvice 등 외부 요청과 응답에 대한 전반적인 영역을 이야기합니다.
  • Service Layer
    1. @Service에 사용되는 서비스 영역입니다.
    2. 일반적으로 Controller와 Dao의 중간 영역에서 사용됩니다.
    3. @Transactional이 사용되어야 하는 영역이기도 합니다.
  • Repository Layer
    1. Database와 같이 데이터 저장소에 접근하는 영역입니다.
  • Dtos
    1. Dto는 계층간에 데이터 교환을 위한 객체를 이야기하며 Dtos는 이들의 영역을 이야기합니다.
    2. 예를들어 뷰 템플릿 엔진에서 사용될 객체나 Repository Layer에서 결과로 넘겨준 객체 등이 이들을 이야기합니다.
  • Domain Model
    1. 도메인이라 불리는 개발 대상을 모든 사람이 동일한 관점에서 이해할 수 있고 공유할 수 있도록 단순화시킨 것을 도메인 모델이라고 합니다.
    2. @Entity를 사용된 영역이 도메인 모델이라고 이해하면 됩니다.
    3. 다만, 무조건 데이터베이스의 테이블과 관계가 있어야만 하는 것은 아닙니다.
    4. VO처럼 값 객체들도 이 영역에 해당하기 때문입니다.