스프링 웹계층

kmb·2022년 6월 9일
0

스프링부트

목록 보기
4/7
post-thumbnail

Web Layer

  1. 컨트롤러 (@Controller)와 JSP/Freemaker등의 view템플릿 영역.

  2. 필터 (@Filter), 인터셉터, @Controller Advice 등의 외부 요청 및 응답에 대한 영역.

 

Service Layer

  1. @Service에 사용되는 서비스 영역.
  2. 일반적으로 Controller와 Dao의 중간영역에서 사용.
  3. @Transactional이 사용되는 영역.

 

Repository Layer

  1. DB와 같이 데이터 저장소에 접근하는 영역.
  2. Dao (Data Access Object) 영역이라고 보면 된다.

 

DTOs

DTO (Data Transfer Object) 는 계층간에 데이터 교환을 위한 객체를 의미하며, DTOs는 이들의 영역을 의미.

ex) 뷰 템플릿 엔진에서 사용될 객체나, Repository Layer에서 결과로 넘겨준 객체등을 의미.

 

Domain Model

  1. 모든 사람이 동일한 관점에서 이해하고 공유할 수 있도록 도메인 개발대상을 단순화시킨것.
    ex) 택시앱 내에서 요금, 호출, 탑승 등이 도메인이라고 불릴 수 있다.

  2. @Entity가 사용된 영역을 Domain Model이라고 볼 수 있다. (단 VO처럼 값 객체도 Domain Model에 속하기 때문에 꼭 DB의 테이블과 관계가 있어야하는것은 아니다.)

따라서 비지니스를 처리해야 하는곳은 Domain Model이다.

 

참고

  • 스프링부트와 AWS로 혼자 구현하는 웹서비스 (책)
profile
꾸준하게

0개의 댓글