SpringBoot Starter运行原理代码解析
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SpringBoot Starter运行原理代码解析相关的知识,希望对你有一定的参考价值。
参考技术Aspringboot-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 高级 原理分析 -- 自定义redis-starter