通过代码实例了解SpringBoot启动原理
那么SpringBoot到底是怎么启动的呢?下面是SpringBoot启动的入口:所以,实际上SpringBootApplication注解相当于三个注解的组合,@SpringBootConfiguration,@ComponentScan和@EnableAutoConfiguration。@SpringBootConfiguration和@ComponentScan,很容易知道它的意思,一个是JavaConfig配置,一个是扫描包。关键在于@EnableAutoConfiguration注解。先来看一下这个注解:Springboot应用启动过程中使用ConfigurationClassParser分析配置类时,如果发现注解中存在@Import的情况,就会创建一个相应的ImportSelector对象, 并调用其方法 public String[] selectImports, 这里 EnableAutoConfigurationImportSelector的导入@Import 就属于这种情况,所以ConfigurationClassParser会实例化一个 EnableAutoConfigurationImportSelector 并调用它的 selectImports() 方法。
下载地址
用户评论