springboot自动装配

本文详细介绍了SpringBoot中自动装配的实现原理。首先通过启动类上的注解@EnableAutoConfiguration开启自动配置功能,接着扫描所有META-INF/spring.factories文件中的配置类并导入容器。之后,这些配置类通过@Conditional注解按条件装配,根据需求动态配置组件。同时,使用@EnableConfigurationProperties注解进行配置文件属性绑定。

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

自动装配
1)
springboot启动类上的核心注解是个合成注解,里面有个注解@EnableAutoConfiguration,作用是开启自动配置功能,这个注解里用@Import注解向容器导入了AutoConfigurationImportSelector组件,在这个类中有个方法(getCandidateConfigurations)会获取所有需要导入到容器的配置类,这些配置类是通过扫描在当前系统里面所有的META-INF/spring.factories位置的文件,在文件里Auto Configure注释下面标注的,都是要导入到容器中的,然后这些配置类就会被导入到容器中。
2)
被导入的自动配置类,通过@Conditional注解按照条件装配,按需配置,只有条件生效的时候才生效,生效后自动配置类会给容器中装配很多组件,并且很多配置信息即使没有在配置文件中声明,也会因为ConditionalOnProperty注解中的matchIfMissing=“true”默认当你是配置了。
3)
被装配的组件中用到的值都是通过@EnableConfigurationProperties注解从xxxProperties类的对象里拿,这个类因为EnableConfigurationProperties注解会开启配置文件属性绑定,在类中,ConfigurationProperties注解声明了绑定配置文件前缀为某某的数据项,springboot默认会在底层配好所有的组件,但是如果自己配置了,会以自己配置的优先。最后,只要容器中有这些组件,相当于这些功能就有了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值