zoukankan      html  css  js  c++  java
  • SpringBoot的启动流程

    以下是个人的理解,整理出来的大致流程:

    1. run方法执行 -->
    2. StopWatch.started 记录任务执行时间 -->
    3. system.setProperty headless属性设置 -->
    4. getRunListener,初始化启动监听器,顺便加载META-INF/spring.factories文件,所有配置文件类名) -->
    5. 通过反射拿到配置文件实例,存入缓存中 -->
    6. listeners.starting() 启动各种监听 -->
    7. prepareEnvironment环境配置 -->
    8. this.printBanner -->
    9. createApplicationContext 分是否为web项目,WebApplicationType -->
    10. getSpringFactoriesInstances,通知已经完成上下文件配置了 -->
    11. prepareContext 刷新上下文,加载所有bean到容器 -->
    12. refreshContext 如果是web,则再次刷上下文,启动server -->
    13. listeners.started(context) 发布启动完成的事件 --->
    14. this.callRunners -->回调Running 完成启动

      如果您对这个理解问题,欢迎在评论区留些您的理解。
  • 相关阅读:
    PAT 1036 Boys vs Girls (25分) 比大小而已
    idea创建maven项目慢的原因以及解决方案
    git diff 理解
    git status 命令详解
    java注解
    单例模式
    io分类
    数据库设计的范式
    mysql约束
    mysql去重复关键字distinct的用法
  • 原文地址:https://www.cnblogs.com/ysq0908/p/13544448.html
Copyright © 2011-2022 走看看