zoukankan      html  css  js  c++  java
  • springboot启动配置原理之一(创建SpringApplication对象)

    几个重要的事件回调机制

    配置在META-INF/spring.factories

    ApplicationContextInitializer

    SpringApplicationRunListener

    只需要放在ioc容器中

    ApplicationRunner

    **CommandLineRunner**

    启动流程:

    1、创建SpringApplication对象

     

     

    initialize(sources);
    private void initialize(Object[] sources) {
     
        //保存主配置类
        if (sources != null && sources.length > 0) {
            this.sources.addAll(Arrays.asList(sources));
        }
        //判断当前是否一个web应用
        this.webEnvironment = deduceWebEnvironment();
        //从类路径下找到META-INF/spring.factories配置的所有ApplicationContextInitializer;然后保存起来
        setInitializers((Collection) getSpringFactoriesInstances(
            ApplicationContextInitializer.class));
        //从类路径下找到ETA-INF/spring.factories配置的所有ApplicationListener
        setListeners((Collection) getSpringFactoriesInstances(ApplicationListener.class));
        //从多个配置类中找到有main方法的主配置类
        this.mainApplicationClass = deduceMainApplicationClass();
    }
     //判断当前是否一个web应用

    //从类路径下找到META-INF/spring.factories配置的所有ApplicationContextInitializer;然后保存起来

     

     //从类路径下找到ETA-INF/spring.factories配置的所有ApplicationListener

     //从多个配置类中找到有main方法的主配置类

     

  • 相关阅读:
    笔记
    创建和使用URL访问网上资源
    File
    event_1:事件注册
    3_3:创建 元素节点
    动态创建表格
    留言删除案例
    3_2:操作节点 [ 增 删 复制 ]
    5:to do list
    仿新浪下拉菜单
  • 原文地址:https://www.cnblogs.com/MagicAsa/p/10745179.html
Copyright © 2011-2022 走看看