当前位置: 首页 > 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.dtcms.com/a/320853.html

相关文章:

  • Go语言实战案例:用net/http构建一个RESTful API
  • 微信小程序功能 表单密码强度验证
  • 主播生活模拟器2|主播人生模拟器2 (Streamer Life Simulator 2)免安装中文版
  • 具身智能模型赋能工业巡检:Deepoc开发板如何重塑机器人认知边界
  • AI搜索引擎——DeepSeek崛起 || #AIcoding·八月创作之星挑战赛# || 简单版
  • 嵌入式硬件接口总结
  • 免费PDF翻译 离线自建
  • 免费PDF批量加密工具
  • 麦肯锡如何围绕AI有效地重塑业务
  • 2025产品经理接单经验分享与平台汇总
  • 腾讯云 CodeBuddy IDE:可以使用gpt5的ide
  • 如何将视频转为GIF格式,3大视频转为GIF工具
  • RAG上下文工程与提示词优化
  • 全栈:Tomcat 安装教程
  • Servlet技术详解(含Tomcat)未完
  • 论文阅读:User Behavior Simulation with Large Language Model-based Agents
  • 如何实现在多跳UDP传输场景,保证单文件和多文件完整传输的成功率?
  • 人工智能之数学基础:事件独立性
  • mysql/doris如何高效删除历史数据
  • SimpleMindMap:一个强大的Web思维导图
  • 【性能测试】-2- JMeter工具的使用
  • 文件结构树的├、└、─ 符号
  • 数据仓库知识
  • apache cgi测试
  • 【FastExcel】解决ReadSheet在Map中获取对象不准确问题(已提交PR并合并到开源社区)
  • SARSA算法详解:从实践到理论的全面解析
  • 软件包管理、缓存、自定义 YUM 源
  • selenium SessionNotCreatedException问题解决办法
  • 讲一讲@ImportResource
  • NFS/SMB 共享目录