java - 通过前缀获取 application.properties 的子集

标签 java spring-boot

我的 Spring Boot 应用程序中有(部分)这个 application.properties:

spring.main.banner-mode = off

app.set.a = 100
app.set.b = abc
app.set.c

# ...

我想注入(inject)一个 Properties 对象,其中的所有键/值都带有前缀“app.”。直接像这样:

@Value(value="${app.*}")
private Properties appProperties; // this obviously won´t work

最佳答案

我还没有尝试使用 Properties。但这就是您处理 map 的方式。

应用程序.yml:

test:
    my-map:
      key1: value1
      key2: value2

Java:

@Service
@ConfigurationProperties(prefix="test")
public class MyService {
    private Map<String, String> myMap = new HashMap<>(); // add getter
}

关于java - 通过前缀获取 application.properties 的子集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50975704/

相关文章:

java - 使用自定义 xml bean 设置属性后,Spring Boot REST Controller 不起作用

具有数据库支持最佳实践的 Java 枚举

java - 安卓应用 : Calling AsyncTask twice?

java - 如何保留父实体而不更新具有多对多关系的子实体?

java - @Scheduled 从 Controller

linux - Spring Boot 应用程序即服务 + VM 选项

java - Mvn clean 包给出了意外的 java.lang.AssertionError

java - 如何在 Struts with Tiles 中获取真实的请求 URL?

java - 如何确定是机器人浏览我的网站还是人?

java - LibGDX down为up up为down gdx.input.getY()