Angepasster XML-basierter Property Source Loader zur Verwendung mit @ConfigurationProperties

8

Ich bin daran interessiert, einen oder mehrere benutzerdefinierte Property-Source-Loader zu erstellen und diese Property-Quellen mit @ConfigurationProperties in meiner Anwendung zu verwenden.

Ich möchte zum Beispiel einen Property Source Loader entwickeln, der in der Lage ist, eine XML-Datei zu laden und in eine Menge von Eigenschaften zu konvertieren, die in meine @Configuration annotierten Klassen eingefügt werden können.

%Vor%

Ist ein solcher XML-basierter Property Source Loader öffentlich verfügbar? Wenn nicht, wie würde ich dann vorgehen, um es meiner Anwendung zur Verfügung zu stellen, nachdem ich es implementiert habe?

Danke.

    
Brandon E Taylor 28.03.2016, 07:11
quelle

1 Antwort

3

Sie können YamlPropertySourceLoader überprüfen, wie es implementiert ist. Sobald Sie es Methode implementieren

%Vor%

wird aufgerufen, sobald Sie etwas hinzugefügt haben

%Vor%

Aber wenn Sie sich die Implementierung von YamlPropertySourceLoader ansehen, sieht es so aus, als ob Sie viel Arbeit zu tun haben werden, zB mit dem Parieren usw.

Sie sollten überprüfen, ob yaml für Sie ausreichend ist, weil es Ihnen die Möglichkeit gibt, strukturierte Eigenschaften zu erstellen:

Zum Beispiel das folgende YAML-Dokument:

%Vor%

Würde in diese Eigenschaften umgewandelt:

%Vor%

YAML-Listen werden als Eigenschaftsschlüssel mit [Index] -Deferenzierern dargestellt, z. B. dieses YAML:

%Vor%

Würde in diese Eigenschaften umgewandelt:

%Vor%

Selbst wenn Sie XML-Dokumente bereit haben und aus diesem Grund sie in die Konfiguration laden möchten, sieht es viel einfacher aus, XML in YAML zu konvertieren ( Ссылка ) und verwenden dann den vorhandenen YamlPropertySourceLoader, anstatt einen eigenen PropertySourceLoader zu schreiben.

    
mommcilo 08.07.2016, 14:00
quelle

Tags und Links