zoukankan      html  css  js  c++  java
  • 临时~spring启动过程

    1. 创建createBootstrapContext

    a) 包含ApplicationEventMulticaster(事件广播主要组件)

    b) 所有Bootstrapper接口继承类被初始化(包括EurekaConfigServerBootstrapper.intitialize)

    2. Spring.factories中加载SpringApplicationRunListener(用于监控springboot启动流程事件)

    3. 生成DefaultApplicationArguments(main中args进行包装)

    4. 核心:prepareEnvironment

    a) getOrCreateEnvironment:创建environment

    i. StandardServletEnvironment,(三个子类型ServletContextInitparams,ServletConfigInitParas)

    ii. StandardEnvironment(包括systemEnvironment,systemProperties)

    iii. StandardReactiveWebEnvironment(同上,暂时没有扩展逻辑)

    b) configurePropertySources

    c) 激发事件:listeners.environmentPrepared

    d) bindToSpringApplication

    5. printBanner

    6. 核心prepareContext

    a) 调用接口ApplicationContextInitializer

    b) 激发事件:contextPrepared

    c) 创建IOC容器()

    d) 激发事件contextLoaded

    7. 核心;refreshContext

    a) 核心:调用org.springframework.context.support.AbstractApplicationContext#refresh

    8. 核心:afterRefresh

    9. 激发事件started

    10. 调用方法callRunners(ApplicationRunner, CommandLineRunner)

    Name_Generator: internalConfigurationBeanNameGenerator

    1. SpringApplicationRunListener包含方法:

    a) environmentPrepared(enviroment准备之后,applicationContext启动之前)

    b) contextPrepared

    c) contextLoaded

    d) starting(run后直接调用,用来初始化)

    e) started

  • 相关阅读:
    第十四周学习进度
    团队十日冲刺17
    团队十日冲刺16
    找水王
    搜狗输入法评价
    团队十日冲刺15
    团队十日冲刺14
    团队十日冲刺13
    团队十日冲刺12
    团队十日冲刺11
  • 原文地址:https://www.cnblogs.com/snow-man/p/15255369.html
Copyright © 2011-2022 走看看