뷰 리졸버
뷰 리졸버는 뷰를 찾아서 디스패처 서블릿에 뷰를 반환하는 역할을 한다.
동작 흐름
- 핸들러 어댑터 호출: 핸들러 어댑터를 통해서 뷰 이름 획득
- BeanNameViewResolver 호출: BeanNameViewResolver가 뷰 이름과 같은 스프링 빈으로 등록된 뷰를 찾는다.
- InternalResourceViewResolver 호출: 이 뷰 리졸버는 InternalResourceView 를 반환한다.
- view.render(): view.render() 가 호출되고 InternalResourceView 는 forward() 를 사용해서 JSP를 실행한다.
Thymeleaf 뷰 템플릿을 사용하면 ThymeleafViewResolver 를 등록해야 한다. 최근에는 라이브러리만 추가하면 스프링 부트가 이런 작업도 모두 자동화해준다.
Reference
스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술 (김영한님)