Java 将多个Spring配置文件应用于单个配置类
我的应用程序有4种可能的Spring配置文件Java 将多个Spring配置文件应用于单个配置类,java,spring,testing,integration-testing,spring-profiles,Java,Spring,Testing,Integration Testing,Spring Profiles,我的应用程序有4种可能的Spring配置文件 测试(用于单元/集成测试) 质量保证 舞台 生产 上面列表中的最后3个是运行此应用程序的实际环境 下面是我的配置类AppConfig的概述 @Configuration @ComponentScan(basePackages={"org.mycompany.services","org.mycompany.domain", "org.mycompany.utils"}) public class AppContext { } 我的问题是: 我
- 测试(用于单元/集成测试)
- 质量保证
- 舞台
- 生产
@Configuration
@ComponentScan(basePackages={"org.mycompany.services","org.mycompany.domain", "org.mycompany.utils"})
public class AppContext {
}
我的问题是:
我希望AppContext的配置仅应用于QA、阶段和生产概要文件(而不是测试概要文件)。最好的方法是什么
原因是上面的配置类扫描并从org.mycompany.services中选取类。但是我不希望这个包被用于测试概要文件,因为我打算使用Mockito模拟这个包中的类
另一个可能的问题是,我是否需要重新考虑进行单元/集成测试的方式,以便简化org.mycompany.service package中类的模拟?您可以在配置类上使用注释
要为除TEST
之外的任何概要文件启用该类,只需像@profile(“!TEST”)
一样使用它
或者您可以显式地指定如下配置文件:@Profile({“QA”、“STAGE”、“PRODUCTION”})