springmvc源码解析之@EnableWebMvc三

说在前面

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

 

springmvc配置解析

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

 

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

@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#configureDefaultServletHandling

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

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

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#defaultServletHandlerMapping

 

 

说到最后

本次源码解析仅代表个人观点,仅供参考。

 

转载于:https://my.oschina.net/u/3775437/blog/3025489

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值