Spring Boot 自动配置原理再探
看了狂神和雷神,我觉得这个自动配置的原理,就是一个属性找值的过程。(即标注了EnableAutoConfiguration注解的类找properties的过程)
第一点:properties从 META-INF/spring.factories 获得,所有的配置文件都在这里,所以要扫描所有jar包类路径下的这个文件夹,将META-INF/spring.factories 中的内容封装为properties。
第二点:要往IOC容器中导入哪些组件是需要用AutoConfigurationImportSelector自动导入选择器进行选择的。
第三点:自动导入选择器需要getCandidateConfigurations:获取候选的配置,SpringFactoriesLoader.loadFactoryNames(this.getSpringFactoriesLoaderFactoryClass(), this.getBeanClassLoader());这些就是调用loadFactoryNames然后参数为标注了EnableAutoConfiguration注解的类,然后在封装好的properties中获取与这些类对应的值。这样就完成了自动配置的原理。
第四点:每一个***AutoConfiguration 类都是容器中的一个组件,都加入到容器中,用他们来做自动配置。
第五点:每一个自动配置类进行自动配置功能,
以HttpEncodingAutoConfiguration(Http编码自动配置)为例解释
精髓:
1、SpringBoot启动会加载大量的自动配置类
2、我们看我们需要的功能有没有SpringBoot默认写好的自动配置类
3、我们再看这个自动配置类中到底配置了那些组件(只要有我们要用到的组件,我们就可以在配置文件中指定这些属性的值)
4、给容器中自动配置类添加组件的时候,会从properties类中获取某些属性,我们就可以在配置文件中指定这些属性的值。
- 点赞
- 收藏
- 分享
- 文章举报
- SpringBoot ——自动配置原理浅析
- 【springboot】基于springboot运行原理实现springboot的自动配置
- SpringBoot自动配置原理
- [Spring Boot] 4. Spring Boot实现自动配置的原理
- SpringBoot与数据访问JDBC&自动配置原理(一)
- SpringBoot(4)—自动配置原理
- SpringBoot学习笔记(一)SpringBoot2 自动配置原理
- SpringBoot 自动配置原理学习总结
- 全面解析SpringBoot自动配置的实现原理
- SpringBoot_自动配置原理
- SpringBoot自动配置的实现原理
- SpringBoot学习笔记(3) Spring Boot 运行原理,自动配置
- Spring Boot自动配置原理
- SpringBoot自动配置原理
- Spring Boot之自动配置的原理
- SpringBoot学习_SpringMVC自动配置原理
- 三、SpringBoot——自动配置原理
- SpringBoot自动配置原理分析
- SpringBoot自动配置原理学习
- Spring boot实战中自动配置原理分析