클라이언트의 요청과 서버의 응답 그리고 Spring MVC
- 위의 그림은 Spring MVC 동작 과정을 담았다. 그림을 보면 개발자가 구현해야할 것은 보라색 박스임을 알 수 있다.
- 보라색 박스엔 스프링의 3대장이라고 할 수 있는 Controller, Service, Repository 가 포함돼 있다. 그 부분만 확대해 보면 아래와 같다. 각각의 역할은 무엇일까?
Controller
- 프레젠테이션 계층(Presentation Layer)
- HTTP 요청을 받는다.
- HTTP 응답을 보낸다.
- 받은 요청을 비즈니스 계층으로 전달한다.
- 어노테이션
- @Controller
- @RestController(@Controller + @ResponseBody)
Service
- 비즈니스 계층(Business Layer)
- 모든 비즈니스 로직을 수행한다.
- 어노테이션
- @Service
Repository
- 퍼시스턴스 계층(Persistence Layer)
- 모든 데이터베이스 관련 로직을 수행한다.
- 데이터베이스에 접근하는 DAO(Data Access Object) 객체를 사용할 수 있다.
- 어노테이션
- @Repository