У меня есть что-то вроде следующего 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 (хотя, возможно, я его и упустил, так как они не совсем маленькие).