在Config Server中提供命令行参数时,如何解析列表占位符?

时间:2019-05-16 13:46:15

标签: spring command-line spring-cloud-config

我有类似以下的yaml文件,它可以作为我的一个应用程序的配置:

---
app:
  list:
  -
    param1: valueA
    param2: valueB
    param3: valueC
  -
    param1: valueX
    param2: valueY
    param3: valueZ

然后使用以下类将其绑定:

@ConfigurationProperties("app")
@Component
public class AppSettings {

    @Value("${list}")
    List<Setting> settings

}

public class Setting {
    private String param1;
    private String param2;
    private String param3;
    // Getter, setter, constructor
}

现在让我们说这些对应于敏感信息(例如,不同存储桶的AWS凭证)

---
app:
  buckets:
  -
    bucketName: valueA
    secret:     valueB
    key:        valueC
  - 
    ... # Rest of buckets

理想情况下,我希望能够设置一个占位符并在运行时解决该问题(例如使用命令行参数)

---
app:
  buckets: {bucket-configs}

我可以使用命令行参数来做到这一点吗?在这种情况下,参数的格式是什么?不幸的是,我没有在Spring docs中看到这个用例(尽管有可能我忽略了它,因为它们并不小)。

0 个答案:

没有答案