Wie verwende ich List Umgebungsvariablen in Spring Boots Application.yml?Java

Java-Forum
Anonymous
 Wie verwende ich List Umgebungsvariablen in Spring Boots Application.yml?

Post by Anonymous »

Ich verwende Spring Start und versuche, Umgebungsvariablen in List Format in der Datei application.yml zu deklarieren.

Code: Select all

// application.yml
kis:
domain: ${KIS_DOMAIN:domain}
appkey:
- ${KIS_APPKEY_1:appkey}
- ${KIS_APPKEY_2:appkey}
appsecret:
- ${KIS_APPSECRET_1:appsecret}
- ${KIS_APPSECRET_2:appsecret}
web-socket-domain: ${KIS_WEBSOCKET_DOMAIN:domain}
< /code>
// KisProperties.java
@Component
@ConfigurationProperties(prefix = "kis")
@Getter
@Setter
@ToString
public class KisProperties {
private String domain;
private String webSocketDomain;
private List appkey;
private List appsecret;

...
}
< /code>
Wenn ich diesen Code auf Spring Startversion 3.4.0 ausführe, erhalte ich den folgenden Fehler: < /p>
Description:

Binding to target [Bindable@651a3e01 type = java.util.List, value = 'provided', annotations = array[[empty]], bindMethod = [null]] failed:

Property: kis.appkey[1]
Value: "===hidden==="
Origin: System Environment Property "KIS_APPKEY_1"
Reason: The elements [kis.appkey[1],kis.appkey[2]] were left unbound.
Property: kis.appkey[2]
Value: "===hidden==="
Origin: System Environment Property "KIS_APPKEY_2"
Reason: The elements [kis.appkey[1],kis.appkey[2]] were left unbound.

Action:

Update your application's configuration
< /code>
Es gibt aus, dass es im Listenformat nicht binden kann. @Value ("$ {kis.appsecret [0]}") Private AppSecret0 
kann ich die Anwendung erfolgreich ausführen. Daher denke ich, dass es keine Bindungsmethode für Listentypen gibt, aber ich verstehe nicht, warum. Es scheint keinen signifikanten Unterschied nach der offiziellen Dokumentation zu geben.

Wie kann ich es lösen?>

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post