gpt4 book ai didi

java - 将多个 Spring 配置文件应用于单个配置类

转载 作者:行者123 更新时间:2023-11-30 06:58:17 24 4
gpt4 key购买 nike

我的应用程序有 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 中选择类。但是我不希望这个包被提取用于测试配置文件,因为我打算使用 Mockito 模拟这个包中的类。

另一个可能的问题是,我是否需要重新考虑我进行单元/集成测试的方式,以便我可以简化对 org.mycompany.service 包中类的模拟?

最佳答案

您可以使用 @Profile配置类上的注释。

要为除 TEST 之外的任何配置文件启用该类,只需像 @Profile("!TEST") 一样使用它。

或者您可以像这样明确指定配置文件:@Profile({ "QA", "STAGE", "PRODUCTION"})

关于java - 将多个 Spring 配置文件应用于单个配置类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32832734/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com