springboot自动装配原理

本文从主配置类开始着重看一下三个注解

@SpringBootConfiguration
@EnableAutoConfiguration
@ComponentScan

首先创建一个springboot项目,进入到主启动配置类

进入@SpringBootApplication

进来之后发现这里边就是我们今天重点关注的三个注解 

 1、@SpringBootConfiguration

进入注解发现有个@Configuration注解,意思就是这是个springboot配置类(类似于xml文件)可以向容器中注入组件

2、@ComponentScan

 注解用于Configuration类的组件扫描之类,也就是要扫哪些包

可以自定义basePackages(指定扫描的包),basePackageClasses(指定扫描的类)

如果不指定默认扫描标有该注解类的包及子包扫描(这个地方就是主配置类所在包为basePackages),所以我们写项目的时候发现没有配置扫哪,但注解也被扫进去了

3、@EnableAutoConfiguration

 注解用于启动自动导入配置

 @AutoConfigurationPackage

用于自动装配使用该注解的类所在包以及子包的组件扫描到spring容器中,也就是配置主类(@SpringBootApplication)所在包以及子包

@Import({AutoConfigurationImportSelector.class})

自动配置类的选择器,导入一些依赖的环境需要的组件,就不需要我们手动配置了

selectImports-->getAutoConfigurationEntry-->getCandidateConfigurations-->loadFactoryNames-->loadSpringFactories 

一层层追下去发现

 加载了所有引用包下的这个文件

将这里边的类通过反射加载到容器中,用它们来做自动配置

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值