2016-07-27 23 views
1

Nach dem Lesen von Paar answers auf Stackoverflow. Ich habe versucht, die Art zu implementieren, wie es empfohlen wurde, aber ich bekomme immer noch keine String-Liste in meinem component.Laden von String-Liste von application.yml in eine Komponente

Hier ist meine application.yml Datei

appName: 
    db: 
    host: localhost 
    username: userX 
    password: passX 
    driverClassName: org.postgresql.Driver 
    shipment: 
    providers: 
     supported1: 
     - one 
     - two 

Und meine component Klasse ist

@Component 
@ConfigurationProperties(prefix = "appName.shipment.providers") 
public class ProviderUtil { 
    List<String> supported1; 

    /* This class has other util methods as well */ 
} 

Hier erwarte ich, dass supported1 Liste von Strings haben würde one und two aber es ist null. Kann jemand helfen, was hier vor sich geht und wie man es löst?

Antwort

1

Haben Sie eine Spring-Boot-Konfigurationsprozessor-Abhängigkeit von Ihrem Klassenpfad? Versuchen here

zu schauen und auch Ihre Bohne aus @Component ändern

+0

Yup @Configuration, habe ich es genau so, wie hinzugefügt, um es in der Dokumentation erwähnt wird. mit 'optional'-Wert auf 'true' gesetzt und ich habe' component' wegen dieser Antwort verwendet >> http://stackoverflow.com/questions/26699385/spring-boot-yaml-configuration-for-a-list-of- Saiten ... Das gesagt, ich habe versucht sowohl mit 'Konfiguration' und' Komponente' aber kein Glück –

+0

Versuchen Sie, Ihren Code zu teilen, um zu sehen, ob wir Ihnen irgendwie helfen können. – bilak

+0

Ich habe das Problem herausgefunden. Ich hatte die Getter/Setter nicht zur Verfügung gestellt. Ich hatte das Feld öffentlich gemacht und ich dachte, es würde funktionieren –