SpringBoot自動裝配的原理

1.SpringApplication.run(AppConfig.class,args);執行流程中有refreshContext(context);這句話.spring

2.refreshContext(context);內部會解析咱們的配置類上的標籤.實現自動裝配功能的註解@EnableAutoConfigurationui

3.會解析@EnableAutoConfiguration這個註解裏面的@Import引入的配置類.AutoConfigurationImportSelectorget

4.AutoConfigurationImportSelector這個類中有這個方法.SpringFactoriesLoader.loadFactoryNames(getSpringFactoriesLoaderFactoryClass(), getBeanClassLoader());io

5.SpringFactoriesLoader.loadFactoryNames的做用就是讀取jar包中的/項目中的META-INF/spring.factories文件.class

6.spring.factories配置了自動裝配的類.好比:com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure配置

7.根據條件給咱們自動裝配Bean方法

相關文章
相關標籤/搜索