Java 如何将test和main的属性注入到多模块gradle spring引导项目的每个子模块中?
这是我项目的结构Java 如何将test和main的属性注入到多模块gradle spring引导项目的每个子模块中?,java,spring,spring-boot,multi-module,Java,Spring,Spring Boot,Multi Module,这是我项目的结构 父级不包含任何代码 模块child1是一个spring引导应用程序 模块child2、child3是jars库 child1依赖于child2和child3 我有一个名为“datapath”的属性,我想将它注入到每个模块中的类中。 “数据路径”有两个可能的值,一个用于测试,一个用于生产。 我把生产价值设定在 child1/src/main/resources/application.properties 和中的测试值 child1/src/test/resources/ap
- 父级不包含任何代码
- 模块child1是一个spring引导应用程序
- 模块child2、child3是jars库
- child1依赖于child2和child3
“数据路径”有两个可能的值,一个用于测试,一个用于生产。
我把生产价值设定在 child1/src/main/resources/application.properties 和中的测试值 child1/src/test/resources/application.properties 我尝试过创建配置类并指定PropertySource。 但结果是,尽管child1在test和main中都选择了正确的应用程序属性,但spring在其他模块中找不到它们 你能为我提出一个策略来实现这一点吗 特别是:
我假设在
child2
和child3
中,您只需要application.properties
进行测试。然后在测试中,您可以使用@TestPropertySource
,在这里您可以指向child1
中属性文件的相对路径,或者显式地添加datapath
:
@TestPropertySource(属性={“数据路径=值”})
公共班级儿童测验{
parent
| build.gradle
| settings.gradle
| [no code]
child1
| build.gradle
| src/
| main/
| java/
| resources/
| application.properties
| test/
| java/
| resources/
| application.properties
child2
| build.gradle
| src/
| main/
| java/
| test/
| java/
child3
| build.gradle
| src/
| main/
| java/
| test/
| java/