xuMengqi's Blog

Spring应用是如何启动的?


目录


  1. 1. 背景
  2. 2. Spring应用是如何创建的?
    1. 2.1. 设置资源加载器
    2. 2.2. 设置初始资源类
    3. 2.3. 推测Web应用类型(deduceFromClasspath)
    4. 2.4. 设置引导上下文初始化器
    5. 2.5. 设置应用上下文初始化器(setInitializers)
    6. 2.6. 设置应用监听器(setListeners)
    7. 2.7. 推测启动类(deduceMainApplicationClass)
  3. 3. Spring应用是如何运行的?
    1. 3.1. 记录启动时间
    2. 3.2. 创建引导上下文(createBootstrapContext)
    3. 3.3. 设置headless模式(configureHeadlessProperty)
    4. 3.4. 获取Spring应用运行监听器(getRunListeners)
    5. 3.5. 调用应用运行监听器的starting方法
    6. 3.6. 创建应用参数
    7. 3.7. 准备环境(prepareEnvironment)
    8. 3.8. 打印Banner(printBanner)
    9. 3.9. 创建应用上下文(createApplicationContext)
    10. 3.10. 准备应用上下文(prepareContext)
    11. 3.11. 刷新应用上下文(refreshContext)
    12. 3.12. 调用应用运行监听器的started方法
    13. 3.13. 回调Runner(callRunners)
    14. 3.14. 调用应用运行监听器的ready方法
    15. 3.15. 处理运行失败(handleRunFailure)