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

相关推荐
linweidong1 分钟前
C++ 中避免悬挂引用的企业策略有哪些?
java·jvm·c++
用户93761147581612 分钟前
并发编程三大特性
java·后端
阿在在4 分钟前
Spring 系列(二):加载 BeanDefinition 的几种方式
java·后端·spring
颜酱6 分钟前
前端算法必备:双指针从入门到很熟练(快慢指针+相向指针+滑动窗口)
前端·后端·算法
小当家.10511 分钟前
Maven与Gradle完整对比指南:构建工具深度解析
java·gradle·maven
p***s9114 分钟前
Spring Boot项目接收前端参数的11种方式
前端·spring boot·后端
AI架构师之家17 分钟前
一文分清机器学习、深度学习和各类 AI 工具的关系:心法与招式的区别
后端·ai编程
neoooo19 分钟前
🍃Spring Boot 多模块项目中 Parent / BOM / Starter 的正确分工
java·后端·架构
黄金贼贼19 分钟前
2026最新java单元测试json校验器
java·单元测试·json
菜鸟的迷茫20 分钟前
为了防雪崩加了限流,结果入口先挂了
java·后端·架构