SpringBoot的自動配置原理過程解析
阿新 • • 發佈:2018-10-10
分享 類的方法 通過 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的自動配置原理過程解析