SpringBoot自动配置原理

简介SpringBoot相较于Spring的一大进步就是它简化了配置。SpringBoot遵循”约定优于配置”的原则,使用注解对一些常规的配置项做默认配置,减少或不使用xml配置。Springboot还提供了大量的starter,只需引入一个star...

SpringBoot启动原理

SpringBoot启动SpringBoot因为内置了tomcat或jetty服务器,不需要直接部署War文件,所以SpringBoot的程序起点是一个普通的主函数。主函数如下: 123456@SpringBootApplicationpublic class SpringbootStudyApplication { public static void main(String[] args) { SpringApplication.run(SpringbootStudyApplication.class, args); }} 整个SpringBoot的启动过程其实都是通过@SpringBootApplication注解和SpringApplication.run方法来实现的。 整个启动的过程可以概括为: 读取所有依赖的META-INF/spring.factories文件,该文件指明了哪些依赖可以被自动加载。 根据importSelector类选择加载哪些依赖,使用conditionOn系列注解排除掉不需要的配置文件 将剩余的配置文件所代表的bean加载到IOC容器中。