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注解功能),来实现对这些配置类的动态加载,从而去完成自动装配的动作。

相关推荐
lucky67071 小时前
Spring Boot集成Kafka:最佳实践与详细指南
spring boot·kafka·linq
何中应1 小时前
请求头设置没有生效
java·后端
NPE~1 小时前
自动化工具Drissonpage 保姆级教程(含xpath语法)
运维·后端·爬虫·自动化·网络爬虫·xpath·浏览器自动化
Coder_Boy_2 小时前
基于Spring AI的分布式在线考试系统-事件处理架构实现方案
人工智能·spring boot·分布式·spring
亓才孓2 小时前
[JDBC]批处理
java
春日见2 小时前
车辆动力学:前后轮车轴
java·开发语言·驱动开发·docker·计算机外设
宋小黑2 小时前
JDK 6到25 全版本网盘合集 (Windows + Mac + Linux)
java·后端
念何架构之路2 小时前
Go进阶之panic
开发语言·后端·golang
7哥♡ۣۖᝰꫛꫀꪝۣℋ2 小时前
Spring-cloud\Eureka
java·spring·微服务·eureka
先跑起来再说2 小时前
Git 入门到实战:一篇搞懂安装、命令、远程仓库与 IDEA 集成
ide·git·后端·elasticsearch·golang·intellij-idea