繁体   English   中英

使用 Quarkus 中属性的 map 读取配置文件

[英]Reading configuration file with a map of properties in Quarkus

我的application.yaml有一个 map 的值存储在 yaml 文件中。

app:
  myMap:
    key1: value1
    key2: value2
    key3: value3

配置 class:

@Data
@ApplicationScoped
public class AppConfiguration {

    @ConfigProperty(name = "app.myMap")
    private Map<String, String> myMap;
}

这会导致以下错误:
javax.enterprise.inject.spi.DeploymentException: No config value of type [java.util.Map] exists for: app.myMap

我无法读取这些值,因为 MicroProfile 不支持java.util.Map 我遇到了这个邮件列表,它提出了一种解决方法,但对 Quarkus 来说相当新,我不确定如何正确实施。 它也有一年了,我想知道是否有比邮件列表中建议的更好的实现。

是的,现在确实有更好的方法。 Quarkus 配置由 SmallRye Config 实现。 Unfortunately, it doesn't support Map direct injection directly, but you can use a mapping object like documented here: https://smallrye.io/docs/smallrye-config/main/mapping/mapping.html

这是一个示例项目: https://github.com/smallrye/smallrye-config/tree/main/examples/mapping

所有这些都在 Quarkus 中工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM