spring boot推薦使用Java配置,通過@Configuration註解的類即爲配置類。
導入其他java配置
你不需要把所有的配置都放入由@Configuration註解的單個類中,可以通過@Import註解導入其他配置類。也可以通過@ComponentScan註解自動掃描所有的Spring組件,包括@Configuration註解的配置類。
導入XML配置
如果你必須使用基於XML的配置,我們推薦你仍然以@Configuration註解的類爲主配置,然後通過@ImportResource註解來加載XML配置文件。
自動配置
所謂的自動配置就是Spring Boot試圖依據你添加的Jars依賴自動配置的你的Spring應用。開啓自動配置需要在你的一個配置類上添加@EnableAutoConfiguration或者@SpringBootApplication註解。
注:推薦在主配置類中啓動自動配置。
自動配置是無侵入的,任何時候你都可以定義你自己的配置以取代自動配置的具體部分,例如,如果你在配置中加入了@DataSource註解的bean,那麼就會覆蓋默認的已嵌入的數據庫。
如果你需要知道已應用的自動配置,可以在啓動你的項目時使用–debug選項,這將啓用DEBUG日誌,會在控制檯上記錄一個自動配置的報告。
如果你發現被應用的某些具體的自動配置的類不是你想要的,你可以使用@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路徑下,可以使用@EnableAutoConfiguration的excludeName屬性指定排除,但需要指定全名。