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

Spring Boot 自动装配原理

1、Spring Boot 自动装配是什么?

SpringBoot 自动装配主要是基于注解编程 和 约定优于配置的思想来设计的。


自动装配就是由 Spring 自动把其他组件中的 Bean 装载到 IoC 容器中,不需要开发人员再去配置文件中添加大量的配置。我们只需要在 Spring Boot 的启动类上添加 @SpringBootApplication 注解,开启自动装配。这种自动装配的思想,在 Spring 3.x 以后就开始支持,我们只要在类上添加 @Enable 注解就可以了,只是没有像 Spring Boot 这样全面地去设计。
因此,Spring 和 Spring Boot 的最大区别就是在于 Spring Boot 的自动装配。那自动装配的原理又
是什么呢?

2、自动装配原理

@SpringBootApplication 这个注解是暴露给用户使用的入口,它的底层是由
@EnableAutoConfiguration 这个注解来实现的。
这样一个自动装配的实现,我把它归纳为以下三个核心步骤:


第一步:启动依赖组件的时候,组件中必须包含 @Configuration 的配置类,在这个配置类里面声明为 @Bean 注解,就将方法的返回值或者属性值 注入 IoC 容器中。
第二步:如果是使用第三方 jar 包,Spring Boot 采用 SPI 机制,只需要在/META-INF/目录下增加
spring.factories 配置文件。然后,Spring Boot 会根据约定规则,自动使用 SpringFactoriesLoader
来加载配置文件中的内容。
第三步:Spring 获取到第三方 jar 中的配置以后,会使用调用 ImportSelector 接口来完成动态加载。这样的设计的好处在于,大幅减少了臃肿的配置文件,而且各模块之间的依赖实现了深度解耦。比如,我们使用 Spring 创建 Web 程序时需要导入非常多的 Maven依赖,而 Spring Boot 只需要一个 Maven依赖来创建 Web 程序,并且 Spring Boot 还把我们最常用的依赖都放到了一起,我们只需要 引入spring-boot-starter-web 这一个依赖就可以完成一个简单的 Web 应用。
以前用 Spring 的时候需要 XML 文件配置开启一些功能,现在 Spring Boot 不用 XML 配置了,只需要写一个, 加了@Configuration 注解 或者实 现对应接口的配置类就可以了。

相关文章:

  • 前端如何检测项目中新版本的发布?
  • 聊聊Spring AI的RedisVectorStore
  • Lua 第5部分 表
  • 图的储存+图的遍历
  • Spring Boot 整合 Servlet三大组件(Servlet / Filter / Listene)
  • 开源大语言模型智能体应用开发平台——Dify
  • 项目复杂业务的数据流解耦处理方案整理
  • Java命令模式详解
  • Java面试39-Zookeeper中的Watch机制的原理
  • 前端服务配置详解:从入门到实战
  • 鸿蒙版小红书如何让图库访问完全由“你”掌控
  • 2025.04.07【数据科学新工具】| dynverse:数据标准化、排序、模拟与可视化的综合解决方案
  • MQTT-Dashboard-数据集成-WebHook、日志管理
  • 深入理解STAR法则
  • 如何开通google Free Tier长期免费云服务器(1C/1G)
  • Python----计算机视觉处理(Opencv:道路检测之车道线显示)
  • SpringWebFlux测试:WebTestClient与StepVerifier
  • 学透Spring Boot — 010. 单元测试和Spring Test
  • 青少年编程与数学 02-015 大学数学知识点 08课题、信息论
  • MySQL + ngram 最佳实践:轻量级中文 混合内容全文搜索方案
  • 北斗系统全面进入11个国际组织的标准体系
  • 首映|《星际宝贝史迪奇》真人电影,不变的“欧哈纳”
  • 北京韩美林艺术馆党支部书记郭莹病逝,终年40岁
  • 爬坡难下坡险,居民出行难题如何解?
  • 广西百色“致富果”:高品质芒果直供香港,带动近五千户增收
  • 美国务卿会见叙利亚外长,沙特等国表示将支持叙利亚重建