其实在之前的笔记中,有记录过handlerAdapter、handlerMapping初始化的一些细节,但是前几天在写策略模式那篇笔记的时候,突然间想到一个问题,RequestMappingHandlerAdapter、RequestMappingHandlerMapping是在什么时候放入到beanDefinitionMap中的
今天这篇笔记主要记录下这里是如何放入到beanDefinitionMap中这个问题
其实这篇笔记也可以理解为springboot项目和传统的springmvc项目有什么区别
结论
简单来说:在EnableWebMvcConfiguration中,通过@Bean来完成的
@Configuration
public static class EnableWebMvcConfiguration extends DelegatingWebMvcConfiguration {
private final WebMvcProperties mvcProperties;
private final ListableBeanFactory beanFactory;
private final WebMvcRegistrations mvcRegistrations;
public EnableWebMvcConfiguration(
ObjectProvider<WebMvcProperties> mvcPropertiesProvider,
ObjectProvider<WebMvcRegistrations> mvcRegistrationsProvider,
ListableBeanFactory beanFactory) {
this.mvcProperties = mvcPropertiesProvider.getIfAvailable();
this.mvcRegistrations = mvcRegistrationsProvider.