SpringBoot自动配置原理-通俗易懂

本文深入剖析SpringBoot自动配置机制,从@SpringBootApplication入口开始,详细解读@EnableAutoConfiguration如何加载配置类,以及通过spring.factories文件扫描配置,实现自动装配Bean的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

SpringBoot自动配置原理-通俗易懂

自动配置原理

1.主程序的 @SpringBootApplication进入,这个注解包含了一个重要的注解 @EnableAutoConfiguration在这里插入图片描述

2.@EnableAutoConfiguration包含了一个 @Import注解,并且会加载AutoConfigurationImportSelector类。
在这里插入图片描述

3.其中的selectImports()方法通过SpringFactoriesLoader.loadFactoryNames()扫描资源下的META-INF文件夹spring.factories文件,这个文件包含了所有需要配置的类全路径名,所以所有的配置类就会被加载。
在这里插入图片描述

在这里插入图片描述

4.配置类中主要包含了 @Configuration注解,还有相关起作用条件注解比如 @ConditionalOnWebApplication 是让其在web会起作用。@EnableConfigurationProperties(xxxProperties.class) ,开启配置属性,就会去加载定义好的配置文件类,在配置类里面就去注册相关bean了,与我们平常写的配置类一样。
在这里插入图片描述

5.在这个配置文件类上就有一个非常熟悉的 @ConfigurationProperties注解,比如下面的是我自定义的配置文件类,以wangshili前缀,那我们在配置文件中就是可以配置wangshili.属性名进行配置,会去找application.yml配置文件中的配置进行注入。
在这里插入图片描述

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值