码迷,mamicode.com
首页 > 编程语言 > 详细

(七)SpringBoot启动配置原理

时间:2018-08-18 23:35:52      阅读:251      评论:0      收藏:0      [点我收藏+]

标签:collect   main   code   技术分享   listen   instance   分享   div   启动   

几个重要的事件回调机制

ApplicationContextInitializer

SpringApplicationRunListener

ApplicationRunner

CommandLineRunner

 

启动流程

1.创建SpringApplication对象

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

技术分享图片

技术分享图片

2.运行run方法

 

(七)SpringBoot启动配置原理

标签:collect   main   code   技术分享   listen   instance   分享   div   启动   

原文地址:https://www.cnblogs.com/yang-young-young/p/9498992.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!