Spring @Wert die leere Liste als Standard
Gibt es eine Möglichkeit, um eine leere Liste als default-Wert für eine Immobilie im Frühjahr, so etwas wie:
@Value("${my.list.of.strings :" + new ArrayList<>() + "}")
private List<String> myList;
Offensichtlich nicht new ArrayList, aber ich brauche eine leere Liste statt.
Ist
private List<String> myList = new ArrayList<>()
nicht genug?InformationsquelleAutor Roby Rodriguez | 2017-03-21
Du musst angemeldet sein, um einen Kommentar abzugeben.
Nachdem er einen Blick auf die SpEL-Spezifikation und in Kombination mit @javaguy die Antwort, die ich kam mit dieser:
deine Antwort ist hilfreich aber unvollständig, da der Wert annotation verweist auf eine Eigenschaft in der ersten Stelle (die muss initialisiert werden, wenn nicht vorhanden - sonst führt es zu einer IllegalArgumentException)
Ich habe verwendet, für die zero-size -
list
in mein Projekt und nichtIllegalArgumentException
weiß nicht, über Ihren code, aber mir bricht, wenn ich eine Eigenschaft angeben, wo es keinen default-Wert und kommt nicht bis in alle property-Datei
Scheint, dass es funktioniert, aber keine Ahnung warum. Ich würde erwarten, dass die leere Liste direkt nach Doppelpunkt und nicht nach der schließenden Klammer }.
InformationsquelleAutor Roby Rodriguez
Können Sie
Collections.emptyList()
zum Auffüllen der leeren Liste-Objekt mit Größe null wie unten gezeigt:Dadurch erhalten Sie eine zero sized
myList
InformationsquelleAutor developer
funktioniert für mich, mit Spring 5.0.x (gibt leere Liste, wenn Ihr meine.Liste..strings-Eigenschaft nicht konfiguriert ist im Kontext)
danach können Sie einfach so etwas wie
InformationsquelleAutor Philipp Wirth