看了狂神和雷神,我觉得这个自动配置的原理,就是一个属性找值的过程。(即标注了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类中获取某些属性,我们就可以在配置文件中指定这些属性的值。

Spring Boot 自动配置原理再探相关推荐

  1. Spring Boot自动配置原理、实战

    Spring Boot自动配置原理 Spring Boot的自动配置注解是@EnableAutoConfiguration, 从上面的@Import的类可以找到下面自动加载自动配置的映射. org.s ...

  2. 芋道 Spring Boot 自动配置原理

    转载自  芋道 Spring Boot 自动配置原理 1. 概述 友情提示:因为本文是分享 Spring Boot 自动配置的原理,所以需要胖友有使用过 Spring Boot 的经验.如果还没使用过 ...

  3. 学习第三篇:【SpringBoot-Labs】芋道 Spring Boot 自动配置原理

    本周(8.21-8.27)将学习芋道 Spring Boot的以下文章: 8.21: 快速入门 8.22:Spring Boot 自动配置原理 .Jar 启动原理 8.23:调试环境. 热部署入门.消 ...

  4. 【Spring Boot实战】源码解析Spring Boot自动配置原理

    一.简介 Spring致力于让Java开发更简单,SpringBoot致力于让使用Spring进行Java开发更简单,SpringCloud致力于基于SpringBoot构建微服务生态圈,让微服务开发 ...

  5. Spring Boot自动配置原理

    要了解Spring Boot的自动配置首先我需要先了解Spring Boot的两个机制,一个是配置文件如何进入到系统变成属性,二是如何将这些属性加入到容器中. 首先我们需要有一个组件,这个组件中的属性 ...

  6. Spring Boot自动配置原理分析

    一.写在前面 随着时间的迁移Spring Boot 越来越多的出现在Java 后端程序员的视野中,Spring Boot 之所以会那么流行,很大的一个原因是自身集成了很多的Bean,简化了传统Srin ...

  7. Spring Boot概述与入门特点配置方式注入方式yim配置文件与多文件配置Spring Boot自动配置原理lombok应用

    1. Spring Boot概述 Spring Boot是Spring项目中的一个子工程,与我们所熟知的Spring-framework 同属于spring的产品: 首页Spring Boot简介可以 ...

  8. Spring Boot 自动配置原理

    自动配置原理 配置文件到底能写什么?怎么写?自动配置原理: 参考:https://docs.spring.io/spring-boot/docs/1.5.9.RELEASE/reference/htm ...

  9. Q2 Spring Boot自动配置原理(ok)

    SpringBoot中为什么执行个SpringApplication.run 方法,就可以将classpath下的那么多类注册进IoC容器呢? 我们通过一个例子来看看: @SpringBootAppl ...

最新文章

  1. html5网页怎么实现内容追加,纯js实现网页内容复制后自动追加自定义内容
  2. 【翻译自mos中文文章】重建控制文件的方法
  3. .net一个函数要用另一个函数的值_Mysql:条件判断函数-CASE WHEN、IF、IFNULL详解
  4. 「技术人生」第6篇:技术同学应该如何理解业务?
  5. iphone文件怎么上传到服务器,iPhone编程中文件上传到HTTP服务器
  6. Java Map用法
  7. 贪心+优先队列 HDOJ 5360 Hiking
  8. 软件测试 学习之路 CSS (三)
  9. 程序设计工程师c语言,《C语言程序设计》自学百问.doc
  10. 这些反病毒斗争经验,我全放这了!
  11. Linux 命令(88)—— more 命令
  12. Lc.exe已退出 代码为-1
  13. java kaptcha_kaptcha Java验证码
  14. 2021ACA世界大赛线上全球总决赛,绽放中国创意设计色彩
  15. Anylogic问题-----模型运行中外部输入控制模型
  16. 基于Java Web的随意购商城系统(开源项目)
  17. CXF学习(1)——CXF框架
  18. 黑客能篡改WiFi密码,源于存在漏洞
  19. OSPF区域划分和区域间路由(三类LSA)
  20. 阿里云香港服务器购买教程(图文)

热门文章

  1. LeetCode 1240. 铺瓷砖(深搜剪枝)
  2. 来客推小程序适合什么场景有什么优势
  3. i3 10100和i5 10400的区别 i310100和i510400性能差多少
  4. 传奇服务器维护活力值怎么算,怎么办啊请问那个活力值是怎么搞的,我的活力 – 手机爱问...
  5. python批量查询网站名称
  6. Hive 安装与配置步骤
  7. DBeaver连接db2数据库
  8. 使用matlab中PCA包进行训练集与测试集处理
  9. 一元二次方程(有实根) (300 分)
  10. JS定时器与清除定时器