SpringBoot自动配置机制

SpringBoot框架最重要的目标之一就是简化基于Spring的开发,因此SpringBoot提供了一系列的特性来实现这个目的,其中比较重要的有自动配置机制,日志和属性配置等。

SpringBoot自动配置机制

SpringBoot自动配置机制从核心上可以总结为以下两点:

1.通过@EnableAutoConfiguration为基于Spring的应用开启自动配置机制。

2.通过一系列的@Conditional完成自动配置机制的实现。

首先,@EnacleAutoConfigutation注解可以让Spring开启自动配置机制。开启之后,Spring在系统启动时就会通过自动扫描项目class目录下所包含的依赖包,以及依赖的条件自动注册Bean,从而构建Spring的应用上下文(ApplicationContext)。

在Spring-boot-autoconfigure-[version].jar中包含了一系列标注了@Configuration的自动配置类。

这些类中还有@EnableConfigurationProperties注解,用来指定自动配置的一些条件。

这些自动配置类则根据所扫描到的依赖包,通过对所注解的@Condition条件来决定是否开启并注册到Spring上下文中。

@Condition则可以根据一系列条件来决定是否启用某项配置,这些条件可以是:

在classpath下是否存在指定的类;

在ApplicationContext中是否已存在指定类型的Bean;

在指定目录下是否存在指定的文件;

在配置文件中是否配置了指定的属性;

指定的系统属性是否存在或不存在;

......

另外还SpringBoot还提供一些开箱即用的条件注解:

@ConditionOnBean:在ApplicationContext中存在指定类型的Bean时启用;

@ConditionOnMissingBean:在ApplicationContext中不存在指定类型的Bean时启用;

@ConditionOnClass:在classpath下存在指定类时启用;

@ConditionOnMissingClass:在classpath下不存在指定类时启用;

@ConditionOnProperties:当存在指定属性配置时启用;

......

最终在SpringBoot启动(引导)类上标注的@SpringBootAppcalition注解继承了@EnableAutoConfiguration,SpringBoot就已经为应用默认启动了自动配置机制。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

互联网农民工001

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

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

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

打赏作者

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

抵扣说明:

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

余额充值