【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。
相关推荐
222you2 小时前
Redis的主从复制和哨兵机制
java·开发语言
江湖有缘2 小时前
零基础入门:使用 Docker 快速部署 Organizr 个人主页
java·服务器·docker
牛奔2 小时前
如何理解 Go 的调度模型,以及 G / M / P 各自的职责
开发语言·后端·golang
chilavert3182 小时前
技术演进中的开发沉思-357:重排序(下)
java·后端
Boop_wu3 小时前
Spring生态
java·后端·spring
jzheng86103 小时前
Spring Boot(快速上手)
java·spring boot·后端
wgslucky3 小时前
SpringBoot解决Request和Response的内容多次读取的问题
java·spring boot·多次读取request数据
怒放吧德德3 小时前
Python3基础:基础实战巩固,从“会用”到“活用”
后端·python
Sylvia-girl3 小时前
IO流~~
java·开发语言
冰暮流星3 小时前
javascript之数组
java·前端·javascript