
Spring MVC 빈 설정 Spring MVC를 사용하면 특정한 설정이 없는한 기본 전략에 따라 interface 구현체들이 빈으로 등록된다. 해당 설정을 변경 하거나, 추가적인 설정 추가하고 싶은경우 다음과 같이 빈으로 등록이 가능하다. WebConfig.java 기본 전략에 따라 생성된 빈들은 다음과 같이 new 로 등록된것과 동일하다. DispatcherServlet기본전략에 따라 등록된 RequestMappingHandlerMapping 은 다음의 코드와 동일하다. Bean으로 등록할경우 추가적인 설정을 더하는 등 커스터마이징이 가능하다. package me.june; import org.springframework.context.annotation.Bean; import org.springfr..
Spring MVC 동작원리 - 정리 서블릿 기반 애플리케이션이고, 서블릿 컨테이너가 필요하다. DispatcherServlet 초기화 특정 타입에 해당하는 빈을 찾는다. 해당 빈이 없다면 기본 전략을 사용한다. DispatcherServlet.properties Spring MVC 서블릿 컨테이너에 등록한 웹 애플리케이션에 DispatcherServlet을 등록해서 사용하는 구조 세부 구성요소는 설정하기 나름 Spring Boot 자바 애플리케이션 내부에 내장 톰캣을 만들고 그 안에 DispatcherServletd이 존재하는 구조 Spring boot 자동설정 Spring boot의 기본 설정에 따라 여러 인터페이스 구현체를 빈으로 등록한다. web.xml 없이 서블릿 애플리케이션 등록방법 Servl..

DispatcherServlet 동작원리 3 DispatcherServlet 기본 설정 전략 대부분의 전략의 구동 방식이 비슷하다. ViewResolver 전략만 살펴보도록 하자. 기본 설정 전략 DispatcherServlet.properties initViewResolvers viewResolver 기본 설정 전략 기본적으로 빈으로 등록된 Resolver를 찾아오는데 없다면 ? 기본전략에 따라 InternalResourceViewResolver 를 사용한다. WebConfig.class ViewResolver로 InternalResourceViewResolver를 커스터마이징해서 등록한다. (기본 설정 전략에 사용되는 ViewResolver와 동일함.) package me.june; import or..
DispatcherServlet 동작원리 2 이번에는 ResponseBody가 아닌 view를 리턴하는 핸들러의 경우를 살펴본다 HellController.class RestController -> Controller 로 변경 기존의 /hello 를 핸들링하던 핸들러에 ResponseBody 애노테이션을 사용하여 기존과 동일하게 요청본문으로 응답하도록 설정 /sample 요청을 핸들링하는 핸들러를 작성 /WEB-INF/sample.jsp 를 리턴 package me.june; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.sprin..