Ich verwende MessageSource
von Spring, um Fehlermeldungen aus einer .properties
-Datei im Klassenpfad zu laden. Meine Eigenschaften respektieren ein bestimmtes "Template" wie {Object}.{field}.{unrespectedConstraint}
Beispiel:
Im Falle eines Refactorings (Ändern des Namens der Klasse zum Beispiel), muss ich meine Eigenschaftendatei an mehreren Stellen ändern.
Gibt es eine Möglichkeit, eine Yaml-Datei (messages.yml) als ResourceBundle zu verwenden, um etwas wie folgt zu erhalten:
%Vor%Die beste Lösung, die ich gefunden habe, wurde von @vtosh gefunden: diese Bibliothek . Das einzige Problem (aber immer noch) ist, dass es nicht populär genug ist.
Die andere Option könnte darin bestehen, die Java-Lokalisierungsunterstützung durch Erweiterung der Klasse ResourceBundle.Control
zu erweitern (ein offizielles Beispiel finden Sie unter hier ). Aber ich sehe darin keinen großen Sinn, da die gefundene Bibliothek @ vtosh diesen Ansatz verwendet.
Warum gibt es keine Lösung für den Frühling? Nun, die Antwort findest du in dieser jira . Es ist immer noch im Offenen Zustand, also erwarte ich keine Lösung von ihrer Seite, zumindest für den Moment.
Ich denke, dies sollte für Ihre Anforderungen ausreichen. Wenn Sie die MessageSource während des VM-Betriebs wieder laden möchten, müssen Sie möglicherweise etwas mehr graben.
%Vor%Tags und Links spring spring-boot properties-file resourcebundle