Spring Boot(16) Auto-configuration(自動配置)
阿新 • • 發佈:2018-11-20
16.Auto-configuration(自動配置)
1.Spring Boot自動配置嘗試根據您新增的jar依賴項自動配置Spring應用程式。例如,如果
HSQLDB
在您的類路徑上,並且您尚未手動配置任何資料庫連線bean,那麼我們將自動配置記憶體資料庫。2.您需要通過向其中一個類新增
@EnableAutoConfiguration
或@SpringBootApplication
註釋來選擇自動配置@Configuration
。您應該只新增一個
@SpringBootApplication
或@EnableAutoConfiguration
註釋。我們通常建議您僅將一個或另一個新增到主@Configuration
類中。
16.1逐步更換自動配置
自動配置是非侵入性的,您可以隨時開始定義自己的配置以替換自動配置的特定部分。例如,如果新增自己的
DataSource
bean,則預設的嵌入式資料庫支援將退回。如果您需要了解當前正在應用的自動配置以及原因,請使用
--debug
交換機啟動應用程式。這將為選擇的核心記錄器啟用除錯日誌,並將自動配置報告記錄到控制檯。
16.2 禁用特定的自動配置
如果您發現正在應用您不需要的特定自動配置類,則可以使用exclude屬性
@EnableAutoConfiguration
來禁用它們。
import org. springframework.boot.autoconfigure。*;
import org.springframework.boot.autoconfigure.jdbc。*;
import org.springframework.context.annotation。*;
@Configuration
@EnableAutoConfiguration(exclude = {DataSourceAutoConfiguration.class})
public class MyConfiguration {
}
如果類不在類路徑上,則可以使用
excludeName
註釋的屬性並指定完全限定名稱。最後,您還可以控制要通過spring.autoconfigure.exclude
屬性排除的自動配置類列表您可以在註釋級別和使用屬性定義排除項。