如何从 Springboot 中的 consul 获取值数组

问题描述

根据不同的市场,我有多个主机值如何在 spring-boot 中获取所有主机值以创建一个 bean。 我试过

@value("#{${app.host}}")
private String[] host;

领事值

app:
  host:
    hostone: 'localhost:8080'
    hosttwo: 'abc:8089'

解决方法

您可以获得一个带有以下注释的数组

@Value("${app.host}")
private String[] host;

但你的 yml 应该是

app:
  host:
    - localhost:8080
    - abc:8089

或者你可以得到

@Value("${app.host}")
private Map<String,String> host;

并保持您的 YML 文件原样。