boot项目中的java属性层次结构

uqdfh47h  于 2021-06-30  发布在  Java
关注(0)|答案(1)|浏览(354)

我有一个spring配置类的公共项目

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

在这个spring-test-context.xml中,有一些bean需要从属性文件中注入值。
我在几个项目中使用这个公共库,但这些属性并不是在所有项目中都使用。
所以我把它们放在这个公共库的application.properties文件中,但它们在给定的项目中不可见,所以我需要在每个项目的application.properties文件中添加对公共库有依赖性的空值。
我想在公共库中使用deafult值的属性,并在需要它们的项目中使用特定值覆盖它们?
怎么做?

rn0zuynd

rn0zuynd1#

通过从公共库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{
}

相关问题