zoukankan      html  css  js  c++  java
  • SpringBoot启动流程图

    代码

    @startuml
    client -> SpringApplication : run(Class<?>, String[])
    SpringApplication -> SpringApplication : new
    activate SpringApplication #ABA
    	SpringApplication -[#F2D]> ApplicationContextInitializer : 加载【META-INF/spring.factories】初始化ApplicationContextInitializer
    	SpringApplication -> ApplicationListener : 加载【META-INF/spring.factories】初始化ApplicationListener
    deactivate
    SpringApplication -> SpringApplication : run
    activate SpringApplication #FBF
    	SpringApplication -> SpringApplicationRunListener : 加载【META-INF/spring.factories】初始化SpringApplicationRunListener(SpringApplication,String[])
    	SpringApplication -[#18F]> SpringApplicationRunListeners : 使用SpringApplicationRunListener初始化SpringApplicationRunListeners
    	SpringApplication -[#18F]> SpringApplicationRunListeners : starting()【1.启动中】
    	SpringApplication -[#F11]> ApplicationArguments : new DefaultApplicationArguments(String[])
    	SpringApplication -> ConfigurableEnvironment : 根据当前环境初始化、配置
    	SpringApplication -[#18F]> SpringApplicationRunListeners : environmentPrepared()【2.环境准备完成】
    	SpringApplication -> SpringApplication : bindToSpringApplication 绑定配置到当前SpringApplication对象,前缀spring.main
    	SpringApplication -> Banner : 打印banner
    	SpringApplication -[#296]> ConfigurableApplicationContext : 反射初始化ConfigurableApplicationContext
    	SpringApplication -> SpringBootExceptionReporter : 加载【META-INF/spring.factories】初始化SpringBootExceptionReporter(ConfigurableApplicationContext)
    	SpringApplication -> SpringApplication : prepareContext
    	activate SpringApplication #ADC
    		SpringApplication -[#296]> ConfigurableApplicationContext : setEnvironment
    		SpringApplication -[#296]> ConfigurableApplicationContext : postProcessApplicationContext
    		SpringApplication -[#F2D]> ApplicationContextInitializer : initialize
    		SpringApplication -[#18F]> SpringApplicationRunListeners : contextPrepared()【3.上下文初始化完成】
    		SpringApplication -> BeanDefinitionLoader : 创建加载器
    		SpringApplication -> BeanDefinitionLoader : load()加载元数据
    		SpringApplication -[#18F]> SpringApplicationRunListeners : contextLoaded()【4.上下文加载完成】
    	deactivate
    	SpringApplication -[#296]> ConfigurableApplicationContext : refresh()初始化上下文bean
    	SpringApplication -[#18F]> SpringApplicationRunListeners : started()【5.上下文启动完成】
    	SpringApplication -[#296]> ConfigurableApplicationContext : 获取ApplicationRunner实例
    	SpringApplication -[#296]> ConfigurableApplicationContext : 获取CommandLineRunner实例
    	SpringApplication -> SpringApplication : ApplicationRunner和CommandLineRunner整体排序后调用
    	SpringApplication -[#18F]> SpringApplicationRunListeners : running()【6.上下文运行中】
    deactivate
    @enduml
    
  • 相关阅读:
    解决mysql-8.0.18 ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
    剑指Offer面试题:28.连续子数组的最大和
    Java BigDecimal
    蓝桥杯 分考场 JAVA
    蓝桥杯 合根植物 JAVA
    蓝桥杯 大臣的旅费 JAVA
    蓝桥杯 危险系数 JAVA
    蓝桥杯 幸运数 JAVA
    【转】对memcached使用的总结和使用场景
    【转】Memcached管理与监控工具----MemAdmin
  • 原文地址:https://www.cnblogs.com/zby9527/p/14785435.html
Copyright © 2011-2022 走看看