👻 들어가기 앞서..
API 를 만들기 전에 총 3개의 클래스들이 필요 합니다.
- Request 데이터를 받을 Dto
- API 요청을 받을 Controller
- 트랜잭션, 도메인 기능 간의 순서를 보장하는 Service
Service에서 비지니스 로직을 처리 해야하는 오해가 있는데 Service 클래스는 트랜잭션, 도메인 간 순서 보장의 역할만 합니다.
그럼 비지니스 로직은 누가 처리하나요??
도메인 클래스에서 비지니스 로직을 처리합니다.
다음 layer 그림을 봅시다.
- Web Layer
- 컨트롤러(@Controller) 와 뷰 템플릿 영역 입니다.
- 이외에도 필터(@Filter), 인터셉터, 컨트롤러 어드바이스(@ControllerAdvice) 등 외부 요청과 응답에 대한 전반적인 영역 입니다.
- Service Layer
- @Service 에서 사용되는 서비스 영역 입니다.
- 일반적으로 Controller 와 Dao의 중간 영역에서 사용됩니다.
- @Transaction이 사용되어야 하는 영역이기도 합니다.
- Repository Layer
- DB 와 같이 데이터 저장소에 접근하는 영역입니다.
- Dtos
- 계층 간에 데이터 교환을 위한 객체를 말합니다.
- Domain Model
- 모든 사람이 동일한 관점에서 이해하기 쉽고 공유할 수 있도록 단순화 시킨 모델입니다.
'Book > Spring boot 와 AWS로 혼자 구현하는 웹서비스' 카테고리의 다른 글
[Book] 12) H2 DB 웹 콘솔에서 직접 접근해보자! (0) | 2022.04.01 |
---|---|
[Book] 11) API 만들어보기! -4 (0) | 2022.03.31 |
[Book] 10) API 만들어보기! -3 (0) | 2022.03.31 |
[Book] 9) API 만들어보기! - 2 (0) | 2022.03.30 |
[Book] 7) 출력되는 쿼리문을 MySQL 문법으로 수정 후 이슈 (0) | 2022.03.30 |
[Book] 6) JPA 로 데이터베이스를 다루어보자! (0) | 2022.03.29 |
[Book] 5) 롬복(Lombok) 을 사용해보자! (0) | 2022.03.28 |
[Book] 4) HelloController 생성과 테스트를 해보자! (0) | 2022.03.27 |