Heim >Java >javaLernprogramm >Wie kann ich mithilfe der @Value-Annotation von Spring eine Liste von Zeichenfolgen aus einer Eigenschaftendatei in eine Java-Klasse laden?
Laden einer Liste aus einer Eigenschaftendatei mit der @Value-Annotation von Spring
In Java-Anwendungen das Lesen einer Werteliste aus einer Eigenschaftendatei und das Laden Das Einfügen in ein Klassenfeld kann mithilfe der @Value-Annotation von Spring effizient erreicht werden. Dadurch können Entwickler ein Feld in einer Java-Klasse deklarieren und es automatisch mit Werten aus einer Eigenschaftendatei füllen.
Um eine Liste von Zeichenfolgen aus einer Eigenschaftendatei in ein Feld namens myList zu laden, kann die folgende Syntax verwendet werden :
@Value("${my.list.of.strings}") private List<String> myList;
Diese Annotation weist Spring an, den Wert aus der Eigenschaft my.list.of.strings in der Eigenschaftendatei zu laden und das Feld myList mit der Liste von zu füllen Saiten. Die Eigenschaftendatei sollte den folgenden Eintrag enthalten:
my.list.of.strings=ABC,CDE,EFG
Um mithilfe der XML-Konfiguration einen ähnlichen Effekt zu erzielen, kann eine benutzerdefinierte List-Bean erstellt und in der Java-Klasse referenziert werden. Die Verwendung der @Value-Annotation bietet jedoch eine bequeme und übersichtliche Möglichkeit, Eigenschaftswerte direkt in Felder einzufügen, sodass keine manuelle Bean-Erstellung erforderlich ist.
Umgang mit durch Kommas getrennten Listen
Da die @Value-Annotation einen einzelnen Zeichenfolgenwert erwartet, muss sie geändert werden, um durch Kommas getrennte Listen zu verarbeiten. Um die Zeichenfolge in eine Liste von Zeichenfolgen aufzuteilen, kann Spring Expression Language (SpEL) verwendet werden. Die folgende geänderte Syntax wandelt die durch Kommas getrennte Zeichenfolge in eine Liste um:
@Value("#{'${my.list.of.strings}'.split(',')}") private List<String> myList;
Das obige ist der detaillierte Inhalt vonWie kann ich mithilfe der @Value-Annotation von Spring eine Liste von Zeichenfolgen aus einer Eigenschaftendatei in eine Java-Klasse laden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!