1,在springboot项目时,会先运行贴上@springbootapplication配置文件的main方法,以此启动springboot内置的Tomcat服务器,而在启动springapplication.run(Appconfig.class,args)时,内部会调用到springapplication中的refreshrefreshContext方法,
2,在springbootapplication类中,又引用了@EnableAutoConfiguration注解,而在 EnableAutoConfiguration类中,又引入了EnableAutoConfigurationImportSelector配置文件,如图所示:
3, 而EnableAutoConfigurationImportSelector配置文件继承了AutoConfigurationImportSelector,在AutoConfigurationImportSelector类中, getCandidateConfigurations方法,可以加载到jar包中的META-INF/spring.factories文件,
4,如果读取到spring.factories文件中,有自动配置类,则会根据条件进行自动配置bean