我想在我的Spring Boot應用程序中執行單個服務的集成測試。所以我想只有這個服務,並且它的依賴性被添加到測試應用程序上下文中。是否可以在上下文配置中指定一個@Component類,因此它的依賴性會自動解析?
假設我有不同封裝A
和B
兩班(A
對B
參考)標有@Component
註解。當我運行該應用程序時,@SpringBootApplication
找到我所有的bean,並將它們添加到上下文中,並隱含@ComponentScan
。
在我的測試配置中,我只想指定一個類A
並使Spring Boot解決它的依賴關係(B
)並將其添加到上下文中。
是否可以使用Spring Boot 2或對我最合適的選項將創建一個單獨的@Configuration
所需的類明確聲明? (實際上有超過2個,這就是爲什麼我問)
問題是,依賴注入的關鍵是'A'不一定知道它會得到什麼'B'的實現,所以Spring無法過渡地導入'@ Component' bean。我經常使用單獨的測試'@ Configuration'類(並且很多時候,如果使用構造函數注入,您可以完全不需要Spring)。 – chrylis