Spring Boot 中自动装配机制的原理

文章目录

  • [Spring Boot 中自动装配机制的原理](#Spring Boot 中自动装配机制的原理)

Spring Boot 中自动装配机制的原理

  自动装配,简单来说就是自动把第三方组件的 Bean 装载到 Spring IOC 器里面, 不需要开发人员再去写 Bean 的装配配置。

在 Spring Boot 应用里面,只需要在启动类加上@SpringBootApplication 注解就可以实现自动装配。

@SpringBootApplication 是一个复合注解, 真正实现自动装配的注解是

@EnableAutoConfiguration。

自动装配的实现主要依靠三个核心关键技术。

  引入 Starter 启动依赖组件的时候,这个组件里面必须要包含 @Configuration 配置类,在这个配置类里面通过@Bean 注解声明需要装配到 IOC 容器的 Bean 对象。

  这个配置类是放在第三方的 jar 包里面,然后通过 SpringBoot 中的约定优于配置思想,把这个配置类的全路径放在 classpath:/META-INF/spring.factories 文件中。这样 SpringBoot 就可以知道第三方 jar 包里面的配置类的位置,这个步骤主要是用到了 Spring 里面的 SpringFactoriesLoader 来完成的。

  SpringBoot 拿到所第三方 jar 包里面声明的配置类以后,再通过 Spring 提供的ImportSelector 接口,实现对这些配置类的动态加载。

  在我看来,SpringBoot 是约定优于配置这一理念下的产物,所以在很多的地方, 都会看到这类的思想。它的出现,让开发人员更加聚焦在了业务代码的编写上, 而不需要去关心和业务无关的配置。

  其实,自动装配的思想,在 SpringFramework3.x 版本里面的@Enable 注解,就有了实现的雏形。@Enable 注解是模块驱动的意思,我们只需要增加某个@Enable 注解,就自动打开某个功能,而不需要针对这个功能去做 Bean 的配置,@Enable 底层也是帮我们去自动完成这个模块相关 Bean 的注入。

相关推荐
ServBay9 分钟前
Claude Fable 5.5 测试曝光,但它在悄悄给你打分
后端·ai编程·claude
AI源码28 分钟前
旅游推荐管理系统
spring boot
w_zero_one1 小时前
递归算法(一)
java·开发语言·算法
IT规划师1 小时前
一文讲透五种发布机制:滚动、蓝绿、金丝雀、红黑与 AB
后端·面试
SL_staff1 小时前
私有化低代码不是减配版开发:JVS双模式建模如何重建IT交付信任
java·低代码·spring cloud
墨着染霜华2 小时前
Redocly 生成 OpenAPI 接口文档踩坑实录|Node 版本兼容 + 接口地址错误问题解决
java
文丑颜不良啊2 小时前
LeetCode1881~1990题目解析
java·leetcode
一条Go2 小时前
两套权限目录,三重闸门:Alioth 的多租户 RBAC 为什么这么拧
后端·程序员·github
Tokenfree3 小时前
把多模态 OCR 接进业务系统:四千张运单,三个坑
后端
十碗饭吃不饱3 小时前
后端运维:网络联通、进程查询、Java服务启动脚本
java·运维·网络