Spring Boot自动加载

问:自动装配如何实现的?

答:简单来说就是自动去把第三方组件的Bean装载到IOC容器中,不需要开发人员再去写Bean相关的配置,在springboot应用里面只需要在启动类上去加上@SpringBootApplication注解,就可以去实现自动装配,它是一个复合注解真正去实现自动装配的注解是@EnableAutoConfiguration这样一个注解,自动装配的实现呢,主要依靠三个核心的关键技术。

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

第二个,第三方jar包里面的配置类全路径都将放在classpath:/META-INF/spring.factories文件里面,这样的话springboot就可以知道第三方jar包里面这个配置类的位置。这个步骤主要是用到了spring里面的SpringFactoriesLoader来完成的。

第三个,springboot拿到所有第三方jar包里面声明的配置类以后,再通过Spring提供的ImportSelector这样一个接口(@Import注解功能),来实现对这些配置类的动态加载,从而去完成自动装配的动作。

相关推荐
桐薇全肯定5 分钟前
MySQL学生成绩管理系统实战操作
java·数据库·sql
武子康11 分钟前
权重已到、Recipe 还在变:Kimi K3 发布后该怎样做工程验收
人工智能·后端·agent
Nuanyt27 分钟前
SSM 学习记录 第二部分 Spring整合Mybatis&Junit AOP核心概念 Spring事务管理 SpringMVC 请求与响应 Rest风格
java·spring·junit·mybatis·restful
站大爷IP28 分钟前
列表推导式一用就爽?大数据量下它把我服务器内存榨干了,原来生成器才是yyds
后端
Slice_cy33 分钟前
Mint 自研框架设计与实现:从重复开发走向配置驱动(二)
前端·后端·架构
程序员cxuan37 分钟前
OpenAI 把 Hugging Face 打穿了,然后 GLM 5.2 当了救火队长?
人工智能·后端·程序员
醉城夜风~37 分钟前
C++模板详解:从基础到高级全面解析
java·开发语言·c++
程序员天天困1 小时前
Arthas Profiler 火焰图实战:CPU 热点在哪一目了然
java·jvm·后端
今夜有雨.1 小时前
C++JSON 解析器
c++·笔记·后端·学习·json