springboot自动配置类源码解析

注解@SpringBootApplication

1.如下图所示
springboot自动配置类源码解析

注解@EnableAutoConfiguration

2.点击以上注解进入后可以看到springboot自动配置注解

springboot自动配置类源码解析
3.点击注解进入后,可以看到@import注解引入了一个class类

springboot自动配置类源码解析
4.EnableAutoConfigurationImportSelector这个类就是springboot自动配置加载的关键,继续点击这个类进入后,
最终发现ImportSelector接口
springboot自动配置类源码解析
5.进入此接口后,可以看到这个接口只有一个抽象方法
springboot自动配置类源码解析
Spring中该接口的作用就是将String[]数组返回的类信息加载到Spring的IOC容器中管理。

6.接下来我们看下springboot中该方法是怎么实现的,
springboot自动配置类源码解析
7.图中可以看到此抽象方法的具体实现,
springboot自动配置类源码解析
如图剪头的所示的方法getCandidateConfigurations,此方法就是将springboot中所有的默认配置类进行加载。

8.点击List configurations = SpringFactoriesLoader.loadFactoryNames…方法查看如下:
springboot自动配置类源码解析
可以看到具体的类加载配置文件,如下图位置所示
springboot自动配置类源码解析
打开文件可以看到具体的配置信息。此处就不做截图,最终将所有配置类加载返回到list中。

springboot整合mvc

1.可以通过spring.factories文件中搜索webmvc -------->org.springframework.boot.autoconfigure.web.WebMvcAutoConfiguration,
定位到具体的类信息查看

2.以上源码的基础是能通过@Configuration来配置springmvc;因为springboot就是通过这种方式来实现的。

以上为本人粗略的观看结果!具体细节没做探讨!