美文网首页
Spring mvc零配置源码阅读总结

Spring mvc零配置源码阅读总结

作者: 断忆残缘 | 来源:发表于2021-02-23 14:44 被阅读0次

    Spring mvc零配置启动

    1. 运用spi技术加载spring-web.jar 下面的META-INF/services/java.servlet.ServletContainerInitializer文件
    2. ServletContainerInitializer类中的@HandlerTypes注解会加载所有的实现了WebApplicationInitializer接口的类
    3. 所有被加载的类,会被放到onStartup方法的参数中,
    4. onStartup方法会实例化所有实现了WebApplicationInitializer接口的类,并调用他们的onStartup方法
    5. 在onStartup方法中会调用父类的onStartup方法,创建servletListener用来初始化Spring容器
    6. 在onStartup方法中还会创建DispatcherServlet对象,DispatcherServlet对象的init方法会加载Spring mvc容器,被设置Spring容器为它的父容器
    7. HandlerMapping、HandlerAdapter、ViewResolver实例的实例化,是借助@EnableWebmMvc和@Bean实现的的,在@Bean中会有钩子方法,会调用父类的方法,而父类会通过@Autowired注解将所有实现了WebMvcConfigurer的实例加入到类属性中,方便用户自定义HandlerMapping、HandlerAdapter、ViewResolver

    一个接口调用的流程

    1. servlet的service方法
    2. 调用JDK的super.service方法
    3. 区分请求类型,回调到spring-mvc包中的doGet/doPost/doPut/doDelete方法
    4. 都会统一调用processRequest方法
    5. 在processRequest中会调用doService方法
    6. 在doService方法中会调用doDispatch方法

    相关文章

      网友评论

          本文标题:Spring mvc零配置源码阅读总结

          本文链接:https://www.haomeiwen.com/subject/svbrfltx.html