根据自动配置原理 学习后,整理学习笔记

一定要耐心去看,耐着性子去学习,慢慢慢慢就明白了

配置深化学习

前提

  1. 通过 @SpringBootApplication 找到 @EnableAutoConfiguration
  2. 发现 @Import({AutoConfigurationImportSelector.class})
  3. AutoConfigurationImportSelector中经过一系列配置调用后发现,最后回去使用 AutoConfiguration这个类;
  4. 根据这个AutoConfiguration ,找到了spring-boot-autoconfigure-3.5.4.jar;
  5. 在这个包中有org.springframework.boot.autoconfigure.AutoConfiguration.imports;

之后的配置使用

根据笔记梳理
  1. Spring的配置文件 spring.factories /org.springframework.boot.autoconfigure.AutoConfiguration.imports

  1. 在这个配置中直接指向了WebMvcAutoConfiguration

  1. WebMvcAutoConfiguration 里面都会有 @EnableConfigurationProperties(),在这个注解中绑定配置了一个文件 WebMvcProperties
    • @Configuration 表示是一个配置类,表示会被Spring接管;
    • @EnableConfigurationProperties 表示了配置的属性类

  1. WebMvcProperties发现加载了一个@ConfigurationProperties("spring.mvc") 注解,跟我们的配置文件绑定,使用自定义的配置

  1. 在配置文件中 就对应能够搜索的到,

总结

SpringBoot帮我们自动装配,装配完之后,去Properties中去取默认值;如果想要去修改默认值就按照对应的规则我们去配置文件中去匹配值

配置类生效,就会给容器中添加各种组件,这些组件单属性是从properties去获取的,每一个属性都是和配置文件相绑定的;这样我们就可以通过SpringBoot的配置文件去修改我们组件中的一些内容;

  1. SpringBoot启动会加载大量的自动配置类
  2. 我们看我们需要的功能有没有在SpringBoot默认写好的自动配置类当中;
  3. 我们再来看这个自动配置类中到底配置了哪些组件;(只要我们要用的组件存在在其中,我们就不需要再手动配置了)
  4. 给容器中自动配置类添加组件的时候,会从properties类中获取某些属性。我们只需要在配置文件中指定这些属性的值即可;
  • xxxxAutoConfigurartion:自动配置类;给容器中添加组件
  • xxxxProperties:封装配置文件中相关属性;

检查是否生效

检查配置类是否生效使用:debug=true,在Properties中添加根节点的debug属性,就可以;

#开启springboot的调试类
debug=true

会输出到控制台,可以看到哪些生效了;

  • Did not match : 没有生效
  • Unconditional : 没有条件
Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐