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方法的主配置类

     

  • 相关阅读:
    ASP.NET Core 中的配置
    依赖注入简介
    Authoriztion Code Flow
    建立IdentityServer项目
    OAuth2 OpenID Connect概述
    Asp.Net Core 项目运行部署到发布
    javascript Template tmpl
    webform ajax 异步请求
    hosts 文件
    webform 使用富文本编辑器
  • 原文地址:https://www.cnblogs.com/MagicAsa/p/10745179.html
Copyright © 2011-2022 走看看