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的主要思想之一,这个思想让开发人员可以更加关注于要实现的业务,而不是繁琐的配置

相关推荐
李慕婉学姐1 小时前
【开题答辩过程】以《基于JAVA的校园即时配送系统的设计与实现》为例,不知道这个选题怎么做的,不知道这个选题怎么开题答辩的可以进来看看
java·开发语言·数据库
奋进的芋圆2 小时前
Java 延时任务实现方案详解(适用于 Spring Boot 3)
java·spring boot·redis·rabbitmq
sxlishaobin3 小时前
设计模式之桥接模式
java·设计模式·桥接模式
model20053 小时前
alibaba linux3 系统盘网站迁移数据盘
java·服务器·前端
武藤一雄3 小时前
C# 关于多线程如何实现需要注意的问题(持续更新)
windows·后端·microsoft·c#·.net·.netcore·死锁
荒诞硬汉3 小时前
JavaBean相关补充
java·开发语言
提笔忘字的帝国3 小时前
【教程】macOS 如何完全卸载 Java 开发环境
java·开发语言·macos
2501_941882484 小时前
从灰度发布到流量切分的互联网工程语法控制与多语言实现实践思路随笔分享
java·开发语言
華勳全栈4 小时前
两天开发完成智能体平台
java·spring·go
程序新视界4 小时前
为什么不建议基于Multi-Agent来构建Agent工程?
人工智能·后端·agent