具有依赖项的 Spring Boot 项目中的属性层次结构

时间:2020-12-21 15:28:20

标签: java spring spring-boot

我有一个带有spring配置类的通用项目

@Configuration
@ImportResource(locations = {"classpath*:spring/spring-test-context.xml"})
public class CommonConfiguration{
}

在这个 spring-test-context.xml 中有一些 bean 需要从属性文件中注入值。

我在几个项目中使用了这个公共库,但这些属性并未在所有项目中使用。

所以我把它们放在这个公共库中的 application.properties 文件中的空值,但在给定的项目中从那里看不到它们,所以我需要在每个项目中的 application.properties 文件中添加空值,这些文件依赖于公共库.

我想让这些属性在公共库中具有默认值,并在需要它们的项目中被特定值覆盖?

怎么做?

1 个答案:

答案 0 :(得分:1)

您应该能够实现从公共库 application.properties 提供 PropertySource 的目标。也许将它重命名为 spring-test-context.properties 只是为了确保与标准属性文件没有混淆:

@Configuration
@PropertySource("classpath:spring-test-context.properties")
@ImportResource(locations = {"classpath*:spring/spring-test-context.xml"})
public class CommonConfiguration{
}