1. 程式人生 > >SpringBoot自動裝配的原理

SpringBoot自動裝配的原理

AR loader 讀取 onf inf cati shc ssl .class

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

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

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

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

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

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

7.根據條件給我們自動裝配Bean

SpringBoot自動裝配的原理