栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

spring

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

spring

下面是最终启动的Spring Boot初始化步骤的描述

DispatcherServlet

范例程式码

@EnableAutoConfigurationpublic class TestSpring {    public static void main(String[] args) throws Exception {        SpringApplication.run(TestSpring.class, args);    }}

Spring Boot初始化步骤

步骤如下:

  1. SpringApplication.run()
    创建
    EmbeddedWebApplicationContext
    应用程序上下文;
  2. 调用其
    refresh()
    方法;
  3. 刷新过程读取起始类的注释
    TestSpring
    。它寻找导入注释。
    EnableAutoConfiguration
    是其中之一。对于导入批注,刷新过程会从批注中获取相应的类
    value
    并调用其
    selectimports()
    方法。
  4. 在的情况下,
    @EnableAutoConfiguration
    相应的类
    EnableAutoConfigurationimportSelector
    ,其
    selectimports()
    负载吨从其他进口选择器
    meta-INF/spring.factories
    ;
  5. 此过程递归地继续。另外,将读取这些导入选择器中的所有bean定义。也就是说,它包括由带有
    @Bean
    注释的方法定义的bean ,即需要Spring上下文自动调用相应方法以实例化它们的bean。
  6. resfresh()
    继续并达到
    onRefresh()
    ,该
    createEmbeddedServletContainer()
    方法被称为内部;
  7. 在上一步读取的Bean定义中,
    ServletContextInitializer
    将搜索并实例化Bean实现。其中之一是bean,它是通过extend
    DispatcherServletAutoConfiguration.DispatcherServletRegistrationConfiguration#dispatcherServletRegistration()
    ServletRegistrationBean
    类型方法定义的
    ServletContextInitializer
    。您可以从类的名称中猜测,此类初始化程序在调用其方法时将给定servlet(在本例中为 DispatcherServlet )添加到给定;
    ServletContext``onStartup()
  8. 创建了一个tomcat嵌入式服务器(尚未完全启动)。
    ServletContextInitializer
    在上一步中找到的所有s都传递给此tomcat初始化- 在这里
    onStartup()
    ,这些
    ServletContextInitializer
    s 的方法被调用
    DispatcherServlet
    并被创建并注册为servlet
  9. onRefresh()
    应用程序上下文结束;
  10. finishRefresh()
    被称为Tomcat所在最终被启动
    TomcatEmbeddedServletContainer.start()
    ;
  11. refresh()
    应用程序上下文结束和其他最终初始化步骤;
  12. 该应用程序正在运行。


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/383233.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号