아직 작성중인 글입니다 :) 불완전한 내용이 포함되어 있을 수 있습니다 ✔️
프론트 컨트롤러인 DispatcherServlet을 중심으로 동작하며, MVC 와 협력해 동작한다
디스패쳐 서블릿은 스프링 MVC에서 제공하는 자바 서블릿으로 모든 요청에 대해 연결된 컨트롤러에게 요청 위임, 뷰 선택 및 출력 결과 등을 처리해 응답한다. 또한 모델과 뷰로 응답 컨텐츠를 응답한다
즉, Dispatcher Servlet은 해당 어플리케이션으로 들어오는 모든 요청을 핸들링 해주기 때문에, 컨트롤러를 구현해두기만 하면 Dispatcher Servlet가 알아서 적합한 컨트롤러로 위임을 해주는 구조이다
정리하자면 내장 톰캣 서버에서 요청을 받아 스프링 컨테이너로 전달하고
URL 과 매칭되는 컨트롤러를 찾는다. 관련 컨트롤러가 없으면 정적 컨텐츠를 찾아 반환하며, 관련 컨트롤러가 있을 경우 뷰리졸버가 해당하는 뷰를 반환한다.
✔️ @ResponseBody를 사용하면 뷰리졸버(viewResolver)를 사용하지 않는다
이 경우 viewResolver 대신에 HttpMeesageConverter 를 사용해 데이터를 처리한다
@ConfigurationPropertiesScan을 이용한 설정 프로퍼티 클래스(@Configuration Properties)의 빈 등록