SpringBoot自动配置原理
2018-08-01 23:12
603 查看
最近在学springboot ,一直觉得框架中的自动配置功能很强大,省去了我们大量配置,然后我就通过网上和学习源码的方式大概明白了基本的实现原理,我给大家梳理一下。
一,关于自动配置所需的jar包,在 spring-boot-autoconfigure-2.0.3.RELEASE.jar 下,主要包含了如下图所示的配置(并未截全):
里面含大量的配置文件,class名称格式都为 XXXAutoConfigure.class 文件 ,看到这样的文件就是自动配置类了,
为了能在控制台观察自动配置的启动,我们可以在 application.yml 里面设置属性 debug=true。
二,当springboot项目运行时候加载自动配置流程,运行原理
点进 @SpringBootApplication 里面
里面有个 @EnableAutoConfiguration 它就自动配置的核心类 我们先看看它的源码
这里的关键功能是@Import注解导入的配置功能
AutoConfigurationImportSelector 类里 selectImports 方法将 项目所需的自动配置类以数组的形式返回出去
将 spring-boot-autoconfigure-2.0.3.RELEASE.jar / META-INF / spring.factories 里面的自动配置全类名信息存储在List
spring.factories 文件存储全部自动配置类的全类名信息
得到全部自动配置类后,将过滤掉不需要的自动配置类
最后筛选后的自动配置类,将它们注册到spring容器中。
以上为个人对自动配置原理的初步理解,欢迎大佬指点不足
阅读更多相关文章推荐
- Spring Boot自动配置原理、实战
- SpringBoot学习笔记(三) SpringBoot 自动配置原理
- Spring Boot核心原理-自动配置
- Spring Boot核心原理-自动配置
- SpringBoot学习_SpringMVC自动配置原理
- SpringBoot与数据访问JDBC&自动配置原理(一)
- Spring Boot自动配置原理
- 【Spring Boot 系列 自动配置原理分析】
- springBoot 自动配置原理
- SpringBoot学习笔记(3) Spring Boot 运行原理,自动配置
- SpringBoot之十六:SpringBoot自动配置的原理
- [Spring Boot] 4. Spring Boot实现自动配置的原理
- springBoot 自动配置原理
- Spring Boot核心原理-自动配置
- SpringBoot ——自动配置原理浅析
- Spring Boot核心原理-自动配置 以及@ConfigurationProperties 注解
- spring boot自动配置原理
- Spring Boot自动配置原理(转)
- 第5章 Spring Boot自动配置原理
- SpringBoot自动配置的实现原理