首页 > 解决方案 > 我应该如何管理多模块 Spring Boot 项目中的配置文件属性

问题描述

事实上,我的 spring 项目中有 2 个模块:APPTEST


APP模块中,我有 3 个属性文件:

  1. 应用程序.yml
  2. 应用程序-prop1.yml
  3. 应用程序-prop2.yml

application.yml 包含里面的属性(spring.profiles.include=prop1,prop2)


TEST模块中,我有 1 个 application-main-test.yml 和带注释的测试类

@SpringBootTest( 属性 = {"spring.profiles.active=main-test"} )


因此,当我在TEST模块中执行我的测试类时,Spring 上下文包含所有 4 个配置文件:main、prop1、prop2、main-test 而不是 main-test


当我将APP模块中的 application.yml 文件的名称更改为 application.deploy.yml 时,Spring 上下文开始仅包含我想要的 @main-test 配置文件。

如果有人可以向我解释如何在不重命名的情况下从APP模块中排除所有配置文件的机制,我将不胜感激

标签: javaspringspring-boot

解决方案


尝试这个。

@SpringBootTest
@TestPropertySource(locations = "classpath:main-test.yml")
public class RunIntegrationTests {


}

推荐阅读