【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。
相关推荐
小撒的私房菜11 小时前
Day 3:多工具时代,Agent 自己选——加入计算器和时间工具
人工智能·后端
czlczl2002092511 小时前
MySQL 基于 GTID 的 Binlog 主从同步机制
java·jvm·mysql
Sylvia33.11 小时前
足球数据API接入实战:从认证到实时比分推送的完整指南
java·开发语言·前端·c++·python
Chloeis Syntax11 小时前
JavaEE初阶学习日记(1)---线程和进程
java·开发语言·学习·线程·javaee
YOU OU11 小时前
SpringBoot
java·spring boot·spring
北冥有鱼11 小时前
解决DTO泛滥的问题
java·java ee
国强_dev12 小时前
如何提升canal吞吐量
java·大数据·python
时空自由民.12 小时前
C/C++ volatile关键字原理及应用介绍
java·c语言·c++
Henray202412 小时前
三个线程交替打印ABC
java·面试
凯瑟琳.奥古斯特12 小时前
SpringBoot快速入门指南
java·开发语言·spring boot·后端·spring