3 Layer Architecture
Controller
- 클라이언트의 요청을 받음
- 클라이언트에서 받아온 request data가 있다면 controller가 service에 전달함.
(service는 요청에 대한 로직 처리 전담) - controller는 service에서 처리가 완료된 결과를 받아 client에게 응답.
(controller >> 출입문이기도 하지만 출구이기도 한 그런 역할.!)
Service
: 사용자의 요구사항(business logic)을 처리하는 계층. 실세 중의 실세
- 현업에서는 Service 코드가 계속해서 비대해지고 있음
- DB 저장 혹은 조회가 필요할 때 Repository 계층에게 데이터 요청
Repository
: DB를 관리하는 역할 (연결, 해제, 자원 관리, CRUD 작업 처리 등..)
정리
- 브라우저에서 게시글 작성하는 요청
- HTTP 프로토콜 request 규칙에 맞춰서 controller에 들어옴.
- 요청을 받아 service에게 전달
- service는 요청을 구현
- 작업이 완료되고 DB에 저장하는 작업은 Repository에게 건네줌
- repository는 가공이 된 데이터를 받아 DB와 연결해 데이터 저장
- 저장완료 후 repository가 저장된 게시글의 PK를 service에게 전달하고 service는 controller에게 전달
- controller는 브라우저에게 전달
3 layer architecture에 집중해서 개발을 하면 되고, 그 중에서도 service에 가장 많은 집중을 하게 될 것.
'내일배움캠프(Sparta) > Spring' 카테고리의 다른 글
[Spring] ORM / JPA / Hibernate (0) | 2023.11.07 |
---|---|
[Spring] IoC / DI / Bean (0) | 2023.11.07 |
[Spring] JDBC (1) | 2023.11.03 |
[Spring] Database / SQL (0) | 2023.11.03 |
[Spring] DTO (0) | 2023.11.02 |