【Spring Boot自动装配】

Spring Boot启动的时候会通过@EnableAutoConfiguration注解找到META-INF/spring.factories配置文件中的所有自动配置类,并对其进行加载,而这些自动配置类都是以AutoConfiguration结尾来命名的,它实际上就是一个JavaConfig形式的Spring容器配置类,它能通过以Properties结尾命名的类中取得在全局配置文件中配置的属性如:server.port,而XxxxProperties类是通过@ConfigurationProperties注解与全局配置文件中对应的属性进行绑定的。

启动类的@SpringBootApplication注解由@SpringBootConfiguration,@EnableAutoConfiguration,@ComponentScan三个注解组成,三个注解共同完成自动装配;

  • @SpringBootConfiguration 注解标记启动类为配置类
  • @ComponentScan 注解实现启动时扫描启动类所在的包以及子包下所有标记为bean的类由IOC容器注册为bean
  • @EnableAutoConfiguration通过 @Import 注解导入 AutoConfigurationImportSelector类,然后通过AutoConfigurationImportSelector 类的 selectImports 方法去读取需要被自动装配的组件依赖下的spring.factories文件配置的组件的类全名,并按照一定的规则过滤掉不符合要求的组件的类全名,将剩余读取到的各个组件的类全名集合返回给IOC容器并将这些组件注册为bean。
相关推荐
东阳马生架构8 分钟前
商品中心—3.商品可采可补可售的技术文档
java
why技术36 分钟前
翻译翻译,什么叫“编程专用”的显示器?
前端·后端
bxlj_jcj40 分钟前
解锁Java线程池:性能优化的关键
java·性能优化·多线程
海棠一号44 分钟前
JAVA理论第七章-MYSQL
java·数据库·mysql
网安INF1 小时前
CVE-2024-23897源码分析与漏洞复现(Jenkins 任意文件读取)
java·web安全·网络安全·jenkins·漏洞
oioihoii1 小时前
C++11列表初始化:从入门到精通
java·开发语言·c++
野生技术架构师2 小时前
SpringBoot集成Tess4j :低成本解锁OCR 图片识别能力
spring boot·后端·ocr
qqxhb2 小时前
零基础设计模式——行为型模式 - 命令模式
java·设计模式·go·命令模式
天天摸鱼的java工程师2 小时前
要在 Spring IoC 容器构建完毕之后执行一些逻辑,怎么实现
后端