ChihiroBlog

SpringBoot自动化配置原理

  • 原理核心在启动类上的@SpringBootApplication注解。
    其中包含以下三个主要注解:

  1. @ComponentScan

    作用:扫描启动类所在的包及其子包中的bean放入容器。

  2. @SpringBootConfiguration


    作用:该注解表示启动类是一个配置类。

  3. @EnableAutoConfiguration

    @EnableAutoConfiguration注解中包含@Import,@Import会将ImportSelector的实现类AutoConfigurationImportSelector中的selectImports方法返回的数组中对应的类封装的bean加载到IOC容器中。

    其中数组内容的来源为getAutoConfigurationEntry方法的返回值

    getAutoConfigurationEntry返回对象的主要内容为通过getCandidateConfigurations方法得到的configurations集合,其中getCandidateConfigurations方法

    会到以下两个文件中查询需要自动配置的类

    接着去起步依赖中查找这两个文件

    其中Imports为新版本自动配置文件,factories为老版本文件,两个都有是为了兼容老版本

    打开其中一个自动配置类

    发现自动配置类中的类上添加了@AutoConfiguration,方法上添加了@Bean注解,这样这些方法的返回值就被加载到了IOC容器中,从而实现了SpringBoot的自动配置。

posted on   Chihirooo  阅读(2)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示