1. 程式人生 > >SpringBoot的自動配置原理過程解析

SpringBoot的自動配置原理過程解析

分享 類的方法 通過 fff 註解 autoconf resource name bsp

SpringBoot的最大好處就是實現了大部分的自動配置,使得開發者可以更多的關註於業務開發,避免繁瑣的業務開發,但是SpringBoot如此好用的

自動註解過程著實讓人忍不住的去了解一番,因為本文的註解解析過程會持續更新本部分,所以首先從簡單的自動配置原理過程進行描述,後邊在

學習完註解驅動開發後,進行更深入的記錄;

自動配置原理過程解析:

萬事都從SpringBoot的入口出發,首先看到入口的註解

@SpringBootApplication

技術分享圖片

該註解的詳細實現:

技術分享圖片

@EnableAutoConfiguration

該註解主要利用了 @import(EnableAutoConfigurationImportSelector.class )

選擇器來導入一些自動配置(@import是用來進行導組件);

進入 EnableAutoConfigurationImportSelector.class 類,然後進入父類 AutoConfigurationImportSelector

技術分享圖片

進入其父類:

技術分享圖片

具體看該類的方法 selectImports() 方法:

技術分享圖片

進入 getCandidateConfigurations() 方法中; 該方法中 存在一個 SpringFactoriesLoader.loadFactoryNames 方法;

技術分享圖片

loadFactoryNames 方法中 通過 classLoader.getResources

方法 得到 目標資源

技術分享圖片

進入 FACTORIES_RESOURCE_LOCATION

技術分享圖片

然後重新回到 loadFactoryNames 繼續往下看:

技術分享圖片

然後重點看 factoryClassName 這個類

技術分享圖片

點進入查看詳細代碼:

技術分享圖片

技術分享圖片

SpringBoot的自動配置原理過程解析