原理初探
自动配置:pom.xml
dependencies都在父工程中
写springboot的依赖不用管版本,它有版本仓库
启动器:
springboot会把场景变成一个个装配成启动器starter
主程序:
@SpringBootApplication 标注这个类是一个springboot的应用,启动类下的所有资源被导入
springboot所有的自动配置都在启动类中被扫描加载,所有自动配置类都在spring.factories 中,但需要判断条件是否生效才会有对应starter
总结:Springboot在启动时从类路径下的METAl-INF/spring.factories中获取EnableAutoConfiguration的值
讲这些值作为自动配置类导入容器,自动配置类生效,帮我们自动配置
它将需要导入的组件以全类名方式返回,这些组件就会被添加到容器中
有了自动配置类,免去了我们手动编写配置注入功能组件等工作
main方法:SpringApplicantion 的过程:
推断应用类型是否是web项目,加载所有可用初始化器,设置所有可用程序监听器,推断设置main方法的定义类
实例对象.run方法,启动监听器,配置环境参数,