Spring SpringBoot小的细节总结记录

  • spring mvc

    采用SPI技术,注入Spring的Servlet类,具体是实现了javax.servlet.ServletContainerInitializer接口的SpringServletContainerInitializer类,在这个类上注解@HandlesTypes传递的参数给Servlet中进行扩展使用

  • Srping boot

    Servlet3.0中@HandlesTypes会触发WebApplicationInitializer实现类, SpringBootServletInitializer;

    • 实现的WebApplicationInitializer接口的是SpringBootServletInitializer类然后传递到Servlet
    • 在run方法启动时 选择AnnotationConfigServletWebServerApplicationContext。这个最为上下文(AnnotationConfigApplicationContext单独启用)
    • org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext
    • 在这里面扩展了方法。其中tomcat在onrefresh阶段启动起来