@SpringBootApplication
public class SpringbootLectureApplication {
public static void main(String[] args) {
SpringApplication.run(SpringbootLectureApplication.class, args);
}
}
在调用run()方法前
调用run()方法前,需要先实例化 SpringApplication
SpringBoot 启动流程简介
会创建SpringFactoriesInstances
就是实例化一些必须组件以及可能用的到的组件,也就是自动配置。
主要是通过spring.factories文件定位。该文件有列出需要实例化的组件。
SpringBoot 启动流程简介
SpringBoot 启动流程简介
其中实例化相关组件时涉及到一个重要类,SpringFactoriesLoader。
它是从“META-INF/spring.factories”文件加载并实例化给定类型的工厂,这些文件可能存在于类路径中的多个 JAR 文件中。 spring.factories 文件必须采用 Properties 格式,其中key是接口或抽象类的完全限定名称,value是逗号分隔的实现类名称列表(list)。