以WebMvcAutoConfiguration自動配置的原理為例,SpringBoot內部對大量的第三方庫或Spring內部庫進行了默認配置,這些配置是否生效,取決于我們是否引入了對應庫所需的依賴,如果有那么默認配置就會生效,如果引入springboot-starter-web那么對應的web配置就會自動配置,那么是如何自動配置的呢?
我們找到對應的原始碼來看下:
先找到對應的自動配置的jar包

然后在org下-->找到web-->找到servlet-->找到裝載配置類和對應的屬性配置

我們點擊WebMvcAutoConfiguration配置類看進去

通過原始碼可以看到:@Configuration:宣告這個類是一個配置類,
條件注解(Conditional Annotation):Spring Boot提供了一系列的條件注解,如@ConditionalOnClass、@ConditionalOnMissingBean、@ConditionalOnProperty等,(就是在某個條件下,滿足專案的是什么型別)
(查原始碼)自動配置類(Auto-Configuration Class):自動配置類使用條件注解來標記自己的生效條件,并在滿足條件時進行自動配置,每個自動配置類通常都對應一個特定的功能模塊或庫,并宣告需要自動配置的Bean,對于一個web程式來說,類中還定義了視圖決議器、處理器配接器(HandlerAdapter)


對于類中的這些屬性,@EnableAutoConfiguration注解引入了兩個屬性:WebMvcProperties和ResourceProperties,點擊原始碼查看屬性類,里面有內部資源視圖決議器的prefix和suffix屬性等靜態檔案資源,

SpringBoot為我們提供了默認配置,而默認配置生效的條件,我們也可以自己配置,那么就會覆寫默認配置,
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/555493.html
標籤:其他
上一篇:【numpy基礎】--陣列簡介
下一篇:返回列表
