当前位置: 首页 > news >正文

【SpringBoot】SpringBoot配置

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

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

配置深化学习

前提

  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 : 没有条件
http://www.xdnf.cn/news/1262053.html

相关文章:

  • GPT OSS 双模型上线,百度百舸全面支持快速部署
  • 华为USG防火墙双机,但ISP只给了1个IP, 怎么办?
  • 医防融合中心-智慧化慢病全程管理医疗AI系统开发(上)
  • C++信息学奥赛一本通-第一部分-基础一-第2章-第5节
  • 单层 PDF 与双层 PDF:一字之差,功能大不同
  • 修复C++14兼容性问题 逻辑检查
  • 力扣-238.除自身以外数组的乘积
  • FileLink:企业数据传输的革新者​
  • Node.js Turbo 包入门教程
  • Sklearn 机器学习 数据降维PCA 使用PCA算法
  • Spark在什么情况下CBO才会判断失误,如何避免
  • 什么是2米分辨率卫星影像数据?
  • Flutter开发 多孩子布局组件
  • 面向真实场景的定制化图像降质模型设计方案
  • 化工厂安全升级:分布式光纤传感的 “实时监测 + 精准预警” 方案
  • VRTE 的应用程序部署到Ubuntu上 报错:bash: ./rb_exmd: No such file or directory
  • 高效数据隔离方案:SpringBoot + JSqlParser 全解析!
  • [windows]torchsig 1.1.0 gr-spectrumdetect模块安装
  • 第七篇:动画基础:requestAnimationFrame循环
  • Java-反射
  • 【华为机试】63. 不同路径 II
  • 医防融合中心-智慧化慢病全程管理医疗AI系统开发(中)
  • VScode 文件标签栏多行显示
  • python之注册机制总结
  • 什么是ros功能包和ros节点
  • @CacheConfig​​当前类中所有缓存方法详解
  • Redis数据组织方式
  • electron 静默安装同时安装完成后自动启动(nsis)
  • 38-TS之类型保护
  • 3D TOF 视觉相机:工业视觉的破局者,重塑视觉感知的未来