• SpringMVC源码


    SpringMVC的本质就是一个dispatcherServlet。


    DispatcherServlet的创建过程主要是对9大组件进行初始化。DispatcherServlet的onRefresh方法调用了initStrategies方法,在initStrategies中初始化了组件。

        // 两个方法的参数context是WebApplicationContext,而不是ServletContext。
       // DispatcherServlet的父类FrameworkServlet初始化了WebApplicationContext。
    protected void onRefresh(ApplicationContext context) { this.initStrategies(context); } protected void initStrategies(ApplicationContext context) { this.initMultipartResolver(context); this.initLocaleResolver(context); this.initThemeResolver(context); this.initHandlerMappings(context); this.initHandlerAdapters(context); this.initHandlerExceptionResolvers(context); this.initRequestToViewNameTranslator(context); this.initViewResolvers(context); this.initFlashMapManager(context); }

    初始化某个组件时,首先在容器里按注册时的名称或类型查找(所以在springMVC的配置文件中只需要配置相应类型的组件容器就可以自动找到),如果找不到就调用getDefaultStrategy使用默认的组件。

    当使用<mvc:annotation-driven/>后,就不会全部使用默认组件了,因为它配置了HandlerMapping、HandlerAdapter、HandlerExceptionResolver。

    上传文件组件MultipartResolver是没有默认配置的,因为并不是每个应用都需要上传文件,需要上传也不一定就要使用MultipartResolver。


  • 相关阅读:
    c# 串口所有数据接收 到串口的数据全部处理
    c# 串口调试
    GMap.net离线地图 教程连接
    (转).net 开发人员如何自处
    网址
    文本--->多字节
    .NET 数据库sa
    JAVA线程池
    使用visualvm远程监控JVM
    Session概述(选自WebX)
  • 原文地址:https://www.cnblogs.com/changrunwei/p/12911406.html
Copyright © 2020-2023  润新知