1.컨트롤러,서비스,레포지토리
1-1.컨트롤러
클라이언트의 요청을 처리하고, 그에 대한 응답을 반환합니다.
주로 HTTP 요청을 수신하고, 적절한 서비스 메서드를 호출하여 결과를 받아옵니다.
1-2.서비스
비즈니스 로직을 구현하며, 여러 레포지토리에서 데이터를 처리하고 조합합니다.
서비스는 컨트롤러와 레포지토리 간의 중간 계층으로 작용합니다.
1-3.레포지토리
데이터베이스와의 직접적인 상호작용을 처리하며, 데이터 CRUD(Create, Read, Update, Delete) 작업을 담당합니다. 스프링 데이터 JPA를 활용하여 자동으로 구현할 수 있습니다.
각각은 서비스,컨트롤러,레포지토리는 DTO를 통하여 서로 데이터를 주고받는다.
- 클라이언트가 HTTP 요청을 보내면, Controller가 요청을 수신합니다.
- Controller는 DTO를 생성하여 요청 데이터를 캡슐화하고, Service에 전달합니다.
- Service는 DTO를 받아 비즈니스 로직을 수행하고, 필요시 Repository를 호출하여 데이터를 검색하거나 수정합니다.
- Repository는 Domain (Entity)을 사용하여 DB에서 데이터에 대한 CRUD 작업을 수행합니다.
- Service는 결과를 DTO 형태로 반환하고, Controller는 이 DTO를 사용하여 클라이언트에 응답을 전송합니다.
Client (browser)
⬍
[DTO]
⬍
Controller (Servlet)
⬍
[DTO]
⬍
Service
⬍
[DTO]
⬍
Repository (DAO)
⬍
Domain (Entity Class)
⬍
DB
'BackEnd > SpringBoot' 카테고리의 다른 글
[SpringBoot] @Autowired 와 의존성주입 (0) | 2024.10.20 |
---|---|
[SpringBoot] DTO(Data Transfer Object)란? (0) | 2024.10.18 |
[SpringBoot] Lombok에 대해 (0) | 2024.10.16 |