SpringBoot Starter运行原理代码解析

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SpringBoot Starter运行原理代码解析相关的知识,希望对你有一定的参考价值。

参考技术A

springboot-boot-starter:就是springboot的场景启动器。springboot将所有的功能场景都抽取出来,做成一个个的starter,只需要在项目中引入这些starter即可,所有相关的依赖都会导入进来,根据公司业务需求决定导入什么启动器即可。

查看 @SpringBootApplication

springboot在启动的时候从类路径下的META-INF/spring.factories中获取EnableAutoConfiguration指定的值,将这些值作为自动配置类导入容器,自动配置类就生效,帮我们进行自动配置的工作:spring.factories文件位于springboot-autoconfigure.jar包中。

所以真正实现是从classpath中搜寻所有的 META-INF/spring.factories 配置文件,并将其中对应org.springframework.boot.autoconfigure.包下的配置项通过反射实例化为对应标注了@Configuration的JavaConfig形式的IOC容器配置类,然后将这些都汇总称为一个实例并加载到IOC容器中。

以上是关于SpringBoot Starter运行原理代码解析的主要内容,如果未能解决你的问题,请参考以下文章

SpringBoot自动配置原理及如何创建自己的Starter

深入springboot原理——动手封装一个starter

SpringBoot系列之starter原理

SpringBoot 高级 原理分析 -- 自定义redis-starter

手写自定义springboot-starter,感受框架的魅力和原理

springboot starter 原理解析及实践