随笔:springboot的自动配置

本文深入探讨SpringBoot的自动配置机制,包括@EnableAutoConfiguration、@Conditional、@EnableConfigurationProperties注解的作用,以及@SpringBootApplication如何整合这些注解实现自动装配。

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

SpringBoot的自动装配,就是将市面上通用的组件写好了配置类,当我们程序去依赖这些组件的jar包之后,启动SpringBoot应用就会进行自动装备。

springBoot自动配置主要是通过@EnableAutoConfiguration,@Conditional,@EnableConfigurationProperties来进行自动装配的。

@EnableAutoConfiguration 是开启自动配置的注解,他主要作用是调用Spring-core包里的loadFactoryNames()方法,将autoConfig包里已经写好的配置自动装配进来。

@Conditional 是条件注解,通过判断类路径下有没有相应的jar包来确定是否加载和自动装配这个类。

@EnableConfigurationProperties 的作用就是给自动配置提供具体的配置参数,只需要写在application。properties中,就可以通过映射写入配置类的pojo属性中

 

@SpringBootApplication注解中有三个注解,分别是:@SpringBootConfiguration,@EnableAutoConfiguration,@ComponentScan。

@EnableAutoConfiguration注解中点进去有一个@Import(EnableAutoConfigurationImportSelector.class)注解,我们找到括号中的EnableAutoConfigurationImportSelector.class类中找到他继承的父类AutoConfigurationImportSelector.class。在AutoConfigurationImportSelector.class类中找到selectImports()方法,这个方法又调用了getCandidateConfiguration()方法,在这个方法里面油条用了了Spring-core包中的loadFactoryName()方法。这个方法就会查询META-INF/spring.factories文件中包含的jar文件,找到spring.factories文件之后,SpringFactoriesLoader将查询配置文件中命名的属性。

可以根据我说的步骤一步一步点进去看,就会发现这中间自动装配的流程,一定需要自己亲身操作才会记忆的更牢靠!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值