我有类似以下的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中看到这个用例(尽管有可能我忽略了它,因为它们并不小)。