SprigBoot核心技术

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

 

1、启动原理

 

 

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(普通环境容器)spring

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

 

启动流程:对象

   一、 建立SpringApplication对象,加载并保存全部ApplicationContextInitializer(META-INF/spring.factories),从类路径下找到配置的全部applicationListener保存起来it

   二、 运行run方法io

相关文章
相关标签/搜索