zoukankan      html  css  js  c++  java
  • SpringBoot_配置-自动配置原理(超重点)

    平时我们在properties或yml配置文件能写已有的配置(比如server.port)是有依据的,能配置的属性来源自xxxProperties文件中;下面开始讲解整个过程:

      1.我们书写一个主配置类,加了springbootApplication注解,有了该注解,我们就可以启动springboot项目以及加载很多的自动配置类

      2.我们点进springbootapplicaiton注解可以看到,如下:

       3.我们重点关注@EnableAutoConfiguration,点进去如下:

     

       4.我们具体导了哪些组件就是看这个选择器类,点进这个类并查看它的父类,父类中有一个方法selectImports()就是来获取需要加载哪些自动配置类,如图:

       5.我们点进getCandidateConfiguration()里面,如下:

       6.我们在点进loadFactoryNames()里,查看它的实现细节:

     

       7.这里的factoryClassName就是我们的EnableAutoConfiguration,根据这个类找到要加载的自动配置类,并把他们添加到容器中:

       8.所以每一个xxxAutoConfiguration的类都是容器的组件,用他们来做自动配置,没错,这些配置类又得加入他们各自的组件,以为例子,进入到这个类:

     

       上面这个方法是HttpEncodingAutoConfiguration的一个方法,会向容器导入一个组件,这个组件的属性正是从当前自动配置类的HttpEncodingProperties属性中获取的,也就意味着本自动配置类要加载的组件很大部分属性都是要依赖xxxxProperties对象中的属性,xxxxProperties类中的属性可以理解成很多其他组件属性的集合

     

     

       9.总结:

  • 相关阅读:
    周总结14
    周总结13
    周总结12
    周总结11
    周总结10
    Pytorch实现GCN、GraphSAGE、GAT
    pytorch在损失函数中为权重添加L1正则化
    conda安装虚拟环境或者软件包时一直报错
    各种报错
    Pytorch-torchtext的使用
  • 原文地址:https://www.cnblogs.com/ibcdwx/p/13624103.html
Copyright © 2011-2022 走看看