# 16\. 自動配置
Spring Boot 會根據您添加的jar依賴關系自動配置您的Spring應用程序。例如,如果HSQLDB在您的類路徑上,并且您沒有手動配置任何數據庫連接bean,那么我們將自動配置內存數據庫。
您需要通過將@EnableAutoConfiguration或@SpringBootApplication注解添加到您的一個@Configuration類中來選擇自動配置。
> 您應該只添加一個@EnableAutoConfiguration注解。 我們通常建議您將其添加到主@Configuration類中。
### [](file:///C:/Users/geekidentity/AppData/Local/Youdao/YNote/markdown/index.html#161逐漸取代自動配置)16.1逐漸取代自動配置
自動配置是非侵入式的,您可以隨時定義自己的配置來替換自動配置。 例如,如果您添加自己的 DataSource bean,則默認的嵌入式數據庫支持將會退回。
如果您需要了解當前有哪些自動配置,以及為什么,請使用--debug開關啟動應用程序。 這將啟用debug日志,并將自動配置日志記錄到控制臺。
### [](file:///C:/Users/geekidentity/AppData/Local/Youdao/YNote/markdown/index.html#162-禁用指定的自動配置)16.2 禁用指定的自動配置
如果您發現正在使用一些不需要的自動配置類,可以使用@EnableAutoConfiguration的exclude屬性來禁用它們。
```
import org.springframework.boot.autoconfigure.*;
import org.springframework.boot.autoconfigure.jdbc.*;
import org.springframework.context.annotation.*;
@Configuration
@EnableAutoConfiguration(exclude={DataSourceAutoConfiguration.class})
public class MyConfiguration {
}
```
如果類不在classpath路徑上,則可以使用注釋的excludeName屬性,并指定全限定名(fully qualified name)。 最后,您還可以通過spring.autoconfigure.exclude屬性控制要排除的自動配置類列表。
> 注解和使用屬性(property)定義都可以指定要排除的自動配置類。
- Part I. Spring Boot 文檔
- Part II. 入門指南
- 8. Spring Boot 介紹
- 9. 系統要求
- 10. 安裝 Spring Boot
- 11. 開發您的第一個Spring Boot應用程序
- 12. 接下來應該讀什么
- Part III. 使用 Spring Boot
- 13. 構建系統
- 14. 構建代碼
- 15. 配置類
- 16. 自動配置
- 17. Spring Beans 和 依賴注入
- 18. 使用@SpringBootApplication注解
- 19. 運行你的應用程序
- 20. 開發工具
- 21. 包裝您的應用程序到生產環境
- 22. 接下來應該讀什么
- Part IV. Spring Boot 功能
- 23. SpringApplication
- 24. 外部配置
- 25. 配置文件(Profiles)
- 26. 日志
- 27. 開發Web應用程序
- 28. Security
- 29. 使用SQL數據庫