spring boot的自动装配原理

spring boot的自动装配原理

解释和使用

自动装配是什么:自动将第三方组件的bean装载到ioc容器里,不需要开发人员再去写bean相关的一些配置

spring boot怎么做:在启动类上加@SpringBootApplication注解就可以实现自动装配

@SpringBootApplication是什么:是一个复合注解,其中真正实现自动装配的注解是@EnableAutoConfiguration

关键技术思想

实现自动装配主要的3个核心技术:

  1. 配置声明。引入starter启动依赖组件的时候,这个组件里面要包含一个@Configguration注解的配置类,在这个配置类里面要通过@Bean注解去声明需要装配到ioc容器里面的对象。
  2. 约定优于配置。这个配置类是放在第三方的jar包里面,然后通过spring boot中约定优于配置的理念,去把这个配置类的全路径放在一个文件里面,这样就知道了所有需要加载的配置的位置,这个步骤是SpringFanctoryLoader来完成的。
  3. 动态加载。拿到所有配置类之后,再通过spring提供的ImportSelector接口来实现对这些配置类的动态加载,从而完成自动装配动作。

总结

总结:自动装配是在约定大于配置这样的思想下的实现,这也是spring boot的主要思想之一,这个思想让开发人员可以更加关注于要实现的业务,而不是繁琐的配置

相关推荐
摸鱼界在逃劳模几秒前
Java的JDK下载与安装
java·开发语言
迷藏4947 分钟前
**发散创新:基于Python的情感计算实战——从文本到情绪的智能识别**在人工智能与人机交互日益融合的今天,**情感计算(A
java·人工智能·python·人机交互
还不秃顶的计科生13 分钟前
多模态模型下载
java·linux·前端
程序员小崔日记15 分钟前
第30篇文章:一个大三计科生的自白
java·代码人生·claudecode
沛沛rh4521 分钟前
用 Rust 实现用户态调试器:mini-debugger项目原理剖析与工程复盘
开发语言·c++·后端·架构·rust·系统架构
范什么特西27 分钟前
解决idea未指定jdk问题webapp未被识别问题
java·开发语言·intellij-idea
是宇写的啊30 分钟前
SpringBoot日志
java·spring boot·spring
消失的旧时光-194341 分钟前
Spring Boot + MyBatis 从 0 到 1 跑通查询接口(含全部踩坑)
spring boot·后端·spring·mybatis
摇滚侠1 小时前
Redis 和 MySQL 数据同步方案,ElasticSearch 和 MySQL 数据同步方案
java·redis·mysql
Rsun045511 小时前
IDEA隐藏无关文件
java·elasticsearch·intellij-idea