gpt4 book ai didi

java - 如何在 Spring 中继承 application.properties?

转载 作者:IT老高 更新时间:2023-10-28 13:47:15 28 4
gpt4 key购买 nike

如果我创建一个具有 application.properties 定义公共(public)配置的公共(public)库。喜欢:

spring.main.banner-mode=off

如何将这些属性继承到包含这些公共(public)库的另一个项目中?

马文:

<project ...>
<groupId>de.mydomain</groupId>
<artifactId>my-core</artifactId>
<version>1.0.0</version>

<dependencies>
<dependency>
<!-- this one holds the common application.properties -->
<groupId>my.domain</groupId>
<artifactId>my-commons</artifactId>
<version>1.0.0</version>
</dependency>
</dependencies>
</project>

如何将配置从 my-commons 继承到 my-core

最佳答案

解决方案是使用不同的名称包含共享属性,此处为 application-shared.properties

在共享库中:

@SpringBootApplication
@PropertySource(ResourceUtils.CLASSPATH_URL_PREFIX + "application-shared.properties") //can be overridden by application.properties
public class SharedAutoConfiguration {
}

在主应用中:

@SpringBootApplication
@Import(SharedAutoConfiguration.class)
public class MainAppConfiguration extends SpringBootServletInitializer {

}

通过这种方式加载 commons/shared 配置,但可以在主应用程序的 application.properties 中覆盖。

它不适用于 spring.main.banner-mode 属性(不知道为什么),但它适用于所有其他属性。

关于java - 如何在 Spring 中继承 application.properties?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44718763/

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