7.DispatcherServlet 관련 스프링 내부 객체
1. Special Bean Types
The DispatcherServlet delegates to special beans to process requests and render the appropriate responses. By “special beans” we mean Spring-managed Object instances that implement framework contracts. Those usually come with built-in contracts, but you can customize their properties and extend or replace them.
DispatcherServlet은 사용자의 요청을 처리하기 위해 혼자서 모든 작업을 처리하지 않음
따라서 SRP 원칙을 기반으로 사용자의 요청에 대한 처리와 적절한 응답을 처리하기 위해,
적절하게 모듈화된 별도의 스프링 내부 빈 객체들에게 처리를 위임하여 요청에 대한 처리 및 응답 과정을 수행함
이러한 스프링 내부 Bean들은 개발자가 자신의 비즈니스 로직 등에 활용할 비즈니스 객체가 아닌, 스프링에서 내부적으로 활용하기 위해 관리되는 객체이기 때문에 스프링 빈(Spring bean)이라고 함
스프링 빈(Spring Bean)
개발자가 직접 생성한 클래스가 아닌,
애플리케이션의 동작을 위해 스프링 모듈 내부에서 활용되는 스프링 내부 빈
2. 주요 스프링 빈 클래스, 인터페이스
DispatcherServlet이 활용하는 주요 스프링 빈 클래스는 다음과 같음
2-1. HandlerMapping
클라이언트가 요청한 URL 경로에 따라 요청 정보를 분석하여 해당 경로와 맵핑되는 Controller가 있는지 조회하는 역할
2-2. HandlerAdaptor
매핑된 Controller에게 해당 클라이언트가 요청한 정보를 처리하도록 전달해주는 역할
2-3. ViewResolver
클라이언트의 요청을 처리한 Controller가 응답 결과로 View를 반환하면, 반환된 View에 해당하는 적절한 .jsp / .html 파일을 찾아 사용자에게 응답, 렌더링