[Spring] 스프링 웹 계층(Spring Web Layer)

미천한 개발중생·2023년 9월 13일
0

Spring

목록 보기
1/2

자료 출처: 스프링부트와 AWS로 혼자 구현하는 웹서비스

스프링 웹 계층은 Web Layer, Service Layer, Repository Layer, DTOs, Domain Model 이렇게 5개의 영역으로 나뉘어있습니다.


Web Layer

  • 흔히 사용하는 컨트롤러(@Controller)와 JSP/Freemaker 등의 뷰 템플릿 영역입니다.
  • 이외에도 필터(@Filter), 인터셉터, 컨트롤러 어드바이스(@Controller Advice) 등 외부요청과 응답에 대한 전반적인 영역을 이야기합니다.

Service Layer

  • @Service에 사용되는 서비스 영역입니다.
  • 일반적으로 Controller와 DAO의 중간 영역에서 사용됩니다.
  • @Transactional이 사용되어야 하는 영역이기도 합니다.

Repository Layer

  • Database와 같이 데이터 저장소에 접근하는 영역입니다.
  • Dao(Data Access Object) 영역으로 이해하면 쉬울것입니다.

DTOs

  • Dto(Data Transfer Ob ject)는 계층 간에 데이터 교환을 위한 객체를 이야기하며 DTOs는 이들의 영역을 얘기합니다.
  • 예를들어 뷰 템플릿 엔진에서 사용될 객체나 Repository Layer에서 결과로 넘겨준 객체 등이 이들을 이야기합니다.

Domain Model

  • 도메인이라 불리는 개발 대상을 모든 사람이 동일한 관점에서 이해할 수 있고 공유할수 있도록 단순화 시킨 것을 도메인 모델이라고 합니다.
  • @Entity가 사용된 영역 역시 도메인 모델이라고 할 수 있습니다.
  • 다만, 무조건 데이터베이스의 테이블과 관계가 있어야만 하는 것은 아닙니다.
  • VO처럼 값 객체들도 이 영역에 해당하기 때문입니다.
profile
공부 목적의 블로그 입니다. 부족한 점이 많으니 잘못된 정보가 있다면 지적부탁드려요!

0개의 댓글