⭐ Programming/Backend

Spring 웹 계층

김 진 하 2023. 2. 4. 21:03

1. Web Layer

- 흔히 사용하는 컨트롤러(@Controller)와 JSP 등의 View 템플릿 영역

- 외부 요청과 응답에 대한 전반적인 영역 (ex) @Filter,  @ControllerAdvice 등

 

2. Service Layer

- @Service에 사용되는 서비스 영역

- 일반적으로 Controller와 DAO의 중간 영역

- @Transactional이 사용되어야 하는 영역

 

3. Repository Layer

- DB와 같이 데이터 저장소에 접근하는 영역

- DAO 영역으로 이해

 

4. DTOs

- DTO(Data Transfer Object)는 계층 간에 데이터 교환을 위한 객체이며, 이를 위한 영역

- View 템플릿 엔진에서 사용될 객체나 Repository Layer에서 결과로 넘겨준 객체 등

 

5. Domain Model

- 개발 대상(도메인)을 모든 사람이 동일한 관점에서 이해할 수 있고 공유할 수 있도록 단순화시킨 것

- @Entity가 사용된 영역도 도메인 모델이라 이해

- But, DB 테이블과 관계가 있어야만 하는 것은 아님

- VO처럼 값 객체들도 이 영역에 해당

- 비즈니스 처리를 담당해야 할 곳