您的位置:首页 > 编程语言 > Java开发

Spring Boot 自动配置原理再探

2020-04-08 07:47 387 查看


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

  • 点赞
  • 收藏
  • 分享
  • 文章举报
PDD-Jason~ 发布了37 篇原创文章 · 获赞 9 · 访问量 1310 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: