springmvc源码解析之@EnableWebMvc三

说在前面web

本次主要介绍springmvc配置解析。关注“天河聊架构”更多精彩。spring

 

springmvc配置解析架构

@EnableWebMvc这个注解干了什么,初始化defaultServletHandlerMappingmvc

 

进入到这个方法org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport#defaultServletHandlerMappingapp

@Bean
   public HandlerMapping defaultServletHandlerMapping() {
//    建立DefaultServletHandlerConfigurer
      DefaultServletHandlerConfigurer configurer = new DefaultServletHandlerConfigurer(this.servletContext);
//    配置DefaultServletHandlerConfigurer -》
      configureDefaultServletHandling(configurer);
//    构建HandlerMapping -》
      HandlerMapping handlerMapping = configurer.buildHandlerMapping();
      return (handlerMapping != null ? handlerMapping : new EmptyHandlerMapping());
   }

进入到这个方法org.springframework.web.servlet.config.annotation.DelegatingWebMvcConfiguration#configureDefaultServletHandlingide

@Override
protected void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) {
   this.configurers.configureDefaultServletHandling(configurer);
}

往上返回到这个方法org.springframework.web.servlet.config.annotation.DefaultServletHandlerConfigurer#buildHandlerMappingui

protected SimpleUrlHandlerMapping buildHandlerMapping() {
      if (this.handler == null) {
         return null;
      }

//    建立SimpleUrlHandlerMapping
      SimpleUrlHandlerMapping handlerMapping = new SimpleUrlHandlerMapping();
      handlerMapping.setUrlMap(Collections.singletonMap("/**", this.handler));
      handlerMapping.setOrder(Integer.MAX_VALUE);
      return handlerMapping;
   }

往上返回到这个方法org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport#defaultServletHandlerMappingthis

 

 

说到最后源码

本次源码解析仅表明我的观点,仅供参考。servlet

相关文章
相关标签/搜索