spring boot自动配置

Spring Boot的出现简化了Java应用的初始化和配置过程,通过@EnableAutoConfiguration注解实现自动配置。该注解启动配置类的加载,基于条件判断实例化配置类,以达到减少手动配置的目的。自动配置主要依赖于spring.factories文件中的配置类和条件注解@Conditional,通过检查属性来决定是否启用某个配置。

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

为什么要有自动配置

	软件从之前的整体,一步步拆分,已经形成了数量庞大的各类组件,比如web,各类数据库,中间层,日志,监控,邮
件,以及分布式组件以方便软件的灵活装配。随着个功能插件的拆分重新组合,以往的spring需要进行大量的配置文件来
装配组件。大部分的组件其配置过程是固定的,只有少部分是变化的,因此为方便开发,就有了springboot,以及默认优
于配置的设计理念。

自动配置原理

在这里插入图片描述
springBoot通过enableAutoConfigation注解开启自动配置,通过spring.factories文件配置的各种类名注册配置类,通过配置类上的Condition注解的条件,判断是否要实例化该配置类。如果从starters中或spring容器中获得condition中满足条件的类,就完成自动装配。
enableAutoConfig注解关键的源代码

@AutoConfigurationPackage
@Import(AutoConfigurationImportSelector.class)
public @interface EnableAutoConfiguration{
	String ENABLE_OVERRIDE_PROPERTY="spring.boot.enableautoconfigation";
}

enableAutoConfiguration注解的主要功能通过import导入的importSelector完成。@Import提供导入配置类的功能。
在这里插入图片描述

public String[] selectImports(AnnotationMetadata annotationMetadata){
	//检查自动配置功能是否开启,默认为开启
	if!isEnabled(annotationMetadata){
		return NO_IMPORTS;
	}
	...
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

weixin_41492331

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值