当前位置: 首页 > news >正文

springboot自动装配的原理

1.SpringBoot加载非 @SpringBootApplication 包以及自包Bean

①@ComponentScan组件扫描
@ComponentScan("com.bite.autoconfig") // 添加包的扫描路径
@SpringBootApplication
public class SpringAutoconfigApplication {public static void main(String[] args) {SpringApplication.run(SpringAutoconfigApplication.class, args);}
}
②@Import 导⼊(使⽤@Import导⼊的类会被Spring加载到IoC容器中)

可以导入的类有三种:

        ①普通类(被@Compent修饰的类或不加@Compent的类也可以)

        ②配置类(被@Comfiguration修饰的类含有@Bean方法注解的配置类)

        ③导入 ImportSelector 接口实现类

③自定义@EnableXxxx注解,封装@Import注解(springboot源码就是这样弄的)

这个方法是基于方法②进行封装的

2.springboot原理分析

阅读源码的流程图:

核心注解的关系图:

@EnableAutoConfiguration注解 中的两个注解的作用: 
  • @Import({AutoConfigurationImportSelector.class}):找到需要自动配置的类,返回配置类列表。
  • @AutoConfigurationPackage:指定包扫描范围(主类所在包),间接影响某些自动配置类的行为。

相关文章:

  • 修改PointLIO项目
  • RHCSA知识点
  • 2025-4-19 情绪周期视角复盘(mini)
  • Linux命令--将控制台的输入写入文件
  • C语言之高校学生信息快速查询系统的实现
  • RocketMQ实现基于可靠消息的最终一致性
  • electron打包是没有正确生成electron.exe,x ENOENT: no such file or directory, rename:
  • 位运算---总结
  • 微信小程序上传腾讯云
  • Dubbo QoS操作手册
  • 【网工第6版】第4章 无线通信网
  • 肖特基二极管详解:原理、作用、应用与选型要点
  • 分布式入门
  • Tailwindcss 入门 v4.1
  • AI大模型发展现状与MCP协议诞生的技术演进
  • Java处理字符串用啥?String、StringBuilder、StringBuffer
  • opencv图像库编程
  • CFS 的调度类型:普通调度 vs 组调度
  • 一键升级OpenSSH/OpenSSL修复安全漏洞
  • 第十一章:多 Agent 系统:复杂协作、挑战与智能涌现
  • 北京理工大学解除宫某聘用关系,该教师被指涉嫌骚扰猥亵学生
  • 商务部新闻发言人就美对我海事、物流和造船等领域宣布最终措施答记者问
  • 东航推出“上博号”班机,上博设立“东航特展厅”
  • 非法收受财物2.29亿余元,窦万贵受贿案一审开庭
  • 外交部谈第十六个“联合国中文日”:期待更多人以中文为桥读中国,读懂世界
  • 中签不易,住宿更难,马拉松赛事期间酒店涨价难题如何解决?