讲讲springboot的自动装配原理吧

1. 讲讲springboot的自动装配原理吧

  • 什么是自动装配?

🌘就是我们不用手动的去写xml配置文件,在启动一个spring boot项目的时候,配置文件已经被自动加载。

  • 现在来说说自动装配的原理(如果没耐心直接跳到第四步去看,如果超级没耐心直接看总结)

1️⃣首先进入spring boot的启动类中你会发现一个叫@SpringBootApplication的复合注解。

2️⃣进入这个复合注解你会发现,这个复合注解是由三个注解组合而成

@SpringBootConfiguration
@EnableAutoConfiguration
@ComponentScan(excludeFilters = { @Filter(type = FilterType.CUSTOM, classes = TypeExcludeFilter.class),
		@Filter(type = FilterType.CUSTOM, classes = AutoConfigurationExcludeFilter.class) })
public @interface SpringBootApplication {

3️⃣我们重点关注这个@EnableAutoConfiguration注解,点进去看看。

@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Inherited
@AutoConfigurationPackage
@Import(AutoConfigurationImportSelector.class)
public @interface EnableAutoConfiguration {

4️⃣@Import(AutoConfigurationImportSelector.class)这个注解是我们要关注的一个重点,spring boot的自动装配就是这个AutoConfigurationImportSelector类,这个selector类会自动去META-INF下面的spring.factories文件中去找到对应的start启动类的全限定类名,然后通过这个反射把对应的类给加载出来,然后注入到IOC容器里面。

🏷总结:spring boot的自动装配说的挺玄乎,其实也就通过一个selector类找到每个类对应的一个全限定类名,然后通过反射把这个类加载到IOC容器里面去就行了。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值