[英]Applying multiple Spring profiles to a single Configuration class
我的應用程序有4種可能的Spring配置文件
上面列表中的最后3個是將在其中運行該應用程序的實際環境。
這是我稱為AppConfig的配置類的概述
@Configuration
@ComponentScan(basePackages={"org.mycompany.services","org.mycompany.domain", "org.mycompany.utils"})
public class AppContext {
}
這是我的問題:我希望將AppContext的配置僅應用於QA,STAGE和PRODUCTION配置文件(但不應用於TEST配置文件)。 最好的方法是什么?
原因是上述配置類從org.mycompany.services中掃描並選擇類。 但是我不希望為TEST配置文件選擇此軟件包,因為我打算使用Mockito模擬此軟件包中的類。
另一個可能的問題是,是否需要重新考慮進行單元/集成測試的方式,以便可以簡化org.mycompany.service包中類的模擬?
您可以在配置類上使用@Profile
批注。
要為除TEST
之外的任何配置文件啟用該類,只需使用@Profile("!TEST")
。
或者,您可以像這樣顯式指定配置文件: @Profile({ "QA", "STAGE", "PRODUCTION" })
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.