일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 링커
- IOC
- DispatcherServlet
- hibernate
- 빌드툴
- AutoConfiguration
- 메이븐
- 자바
- JPA
- beanfactory
- 링킹
- 클린코드
- springboot
- Kotlin for Java Developers
- FunctionalInterfaces
- 토비의스프링
- lambda
- 프록시
- Immutable
- ApplicationContext
- ORM
- 컴퓨터시스템
- java
- 토비의스프링3.1
- gradle
- Spring
- DesignPattern
- String
- exception
- springwebmvc
- Today
- Total
엔지니어로 가는 길
DispatcherServlet이 사용하는 '특별한 빈'은 어떻게 설정되는가 본문
여기서는 DispatcherServlet이 위임하는 특별한 빈들이 어떻게 설정되는지에 대해 알아본다.
먼저 DispatcherServlet은 WebApplicationContext에 가서 도움을 요청할 '특별한 빈'이 등록되어있는지 확인한다. 만약 등록되어 있으면 해당 빈을 특별한 빈으로 설정하고, 등록되어 있지 않으면 DispatcherServlet.properties에서 설정한 디폴트 타입의 빈을 이용한다.
DispatcherServlet.properties에 설정된 default 빈들을 보면 아래와 같다.
HandlerMapping
BeanNameUrlHandlerMapping
RequestMappingHandlerMapping
RouterFunctionMapping
HandlerAdapter
HttpRequestHandlerAdapter
SimpleControllerHandlerAdapter
RequestMappingHandlerAdapter
HandlerFunctionAdapter
HandlerExceptionResolver
ExceptionHandlerExceptionResolver
ResponseStatusExceptionResolver
DefaultHandlerExceptionResolver
ViewResolver
InternalResourceViewResovler
LocaleResolver
AcceptHeaderLocaleResolver
RequestToViewNameTranslater
DefaultRequestToViewNameTranslater
FlashMapManager
SessionFlashMapManger
살펴볼 점은 아래와 같다.
@지난 시간에 살펴본 '특별한 빈'인데 DispatcherServlet.properties에 없는 빈
: ThemeResolver, MultipartResolver
@지난 시간에 살펴본 '특별한 빈'에 없던 빈인데 DispatcherServlet.properties에 있는 빈
: RequestToViewNameTranslater
@DispatcherServlet이 위임하는 '특별한 빈'은 종류에 따라 없을 수도, 하나일 수도, 여러개일 수도 있다.
참고 자료
https://docs.spring.io/spring/docs/current/spring-framework-reference/web.html#mvc-config
'프로그래밍 > Spring' 카테고리의 다른 글
DispatcherServlet이 요청을 처리하는 과정 (0) | 2020.03.10 |
---|---|
spring web mvc에서 서블릿 설정하기 (0) | 2020.03.09 |
DispatcherServlet에게 외주를 받는 빈(Bean)들 (0) | 2020.03.04 |
Spring Web MVC에서 사용하는 context들 (0) | 2020.03.03 |
DispatcherServlet (0) | 2020.03.02 |