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 小时前
【分布式缓存】Redis持久化和集群部署攻略
java·运维·redis·分布式·缓存
短视频矩阵源码定制1 小时前
矩阵系统源码推荐:技术架构与功能完备性深度解析
java·人工智能·矩阵·架构
Eiceblue1 小时前
使用 Java 将 Excel 工作表转换为 CSV 格式
java·intellij-idea·excel·myeclipse
漂流幻境1 小时前
IntelliJ IDEA的Terminal中执行ping命令时遇到的“No route to host“问题
java·ide·intellij-idea
苹果醋32 小时前
element-ui源码阅读-样式
java·运维·spring boot·mysql·nginx
BUG?不,是彩蛋!2 小时前
IntelliJ IDEA从安装到使用:零基础完整指南
java·ide·intellij-idea
程序员阿鹏2 小时前
56.合并区间
java·数据结构·算法·leetcode
SmoothSailingT2 小时前
IDEA实用快捷键
java·ide·intellij-idea
rengang662 小时前
Spring AI Alibaba 框架使用示例总体介绍
java·人工智能·spring·spring ai·ai应用编程
没有bug.的程序员2 小时前
@Controller、@RestController、@RequestMapping 解析机制
java·spring boot·spring·controller·requestmapping·restcontroller