zoukankan      html  css  js  c++  java
  • SprigBoot核心技术

    启动原理 运行流程 自动配置原理

    一、启动原理

    SpringApplication.run(主程序类)
    – new SpringApplication(主程序类)
    • 判断是否web应用
    • 加载并保存所有ApplicationContextInitializer(META-INF/spring.factories),
    • 加载并保存所有ApplicationListener
    • 获取到主程序类
    – run()
    • 回调所有的SpringApplicationRunListener(META-INF/spring.factories)的starting
    • 获取ApplicationArguments
    • 准备环境&回调所有监听器( SpringApplicationRunListener )的environmentPrepared
    • 打印banner信息
    • 创建ioc容器对象(
    – AnnotationConfigEmbeddedWebApplicationContext(web环境容器)
    – AnnotationConfigApplicationContext(普通环境容器)

    – run()
    • 准备环境
    – 执行ApplicationContextInitializer. initialize()
    – 监听器SpringApplicationRunListener回调contextPrepared
    – 加载主配置类定义信息
    – 监听器SpringApplicationRunListener回调contextLoaded
    • 刷新启动IOC容器;
    – 扫描加载所有容器中的组件
    – 包括从META-INF/spring.factories中获取的所有EnableAutoConfiguration组件
    • 回调容器中所有的ApplicationRunner、CommandLineRunner的run方法
    • 监听器SpringApplicationRunListener回调finished

    启动流程:

       1、 创建SpringApplication对象,加载并保存所有ApplicationContextInitializer(META-INF/spring.factories),从类路径下找到配置的所有applicationListener保存起来

       2、 运行run方法

  • 相关阅读:
    就现在的几种代码管理库的比较
    就书籍“构造之法”的问题
    软件工程之中期学习总结
    软件项目管理之理解
    软件代码规范之理解
    介绍几个常用的代码管理工具
    关于构建之法的问题
    研究生竞赛系统需求规格说明书
    各种GIT代码托管工具比较
    第一个作业
  • 原文地址:https://www.cnblogs.com/toov5/p/10781196.html
Copyright © 2011-2022 走看看