基础流程:

  1. Java程序由启动主类调用main()方法开始
  2. 根据@SpringBootApplication注解以及调用SpringApplication的构造方法,实例一个Spirng应用对象。在构造方法里主要完成启动环境初始化工作,如推断主类,spring应用类型,加载配置文件,读取spring.factories文件等
  3. 调用run方法,所有的启动工作在该方法内完成,主要完成加载配置资源,准备上下文,创建上下文,刷新上下文,过程事件发布等