Wie erhalte ich Werte aus der Eigenschaftendatei mithilfe von Spring Framework in Map?

8

Für den Moment könnte ich Werte aus Property-Dateien einfügen:

%Vor%

Aber ich will etwas mehr ...

Zum Beispiel habe ich eine Eigenschaftendatei:

%Vor%

Ich weiß sicher, dass es die Eigenschaft aaa.props enthält und nichts über andere Eigenschaften weiß. Und ich möchte, dass diese Eigenschaften mit folgendem Code abgebildet werden:

%Vor%

Resultierende someProps: {p1=qwe,p2=asd,p3=zxc}

    
Timofey Gorshkov 31.08.2010, 11:32
quelle

4 Antworten

5

Nun, ich habe einen generischen Ansatz für Sie entwickelt: eine Factory-Bean, die eine Map durch Filtern einer anderen Map erstellt (Eigenschaften sind schließlich eine Art von Map).

Hier ist die Factory-Bean:

%Vor%

Hier ist eine Spring-Bean-Definitionsdatei mit einigen Beispielen:

%Vor%

Und hier ist eine Testklasse:

%Vor%

Die Ausgabe ist wie erwartet:

%Vor%     
Sean Patrick Floyd 31.08.2010 13:52
quelle
2

Ich fürchte, Sie können nicht direkt. Aber du kannst

  • Implementiere ApplicationContextAware und setze die ApplicationContext als ein Feld in Ihrer Bean.
  • in einem @PostConstruct Methodenaufruf context.getBean("${aaa.props}")
  • parsen Sie das Ergebnis manuell und setzen Sie es auf die gewünschten Felder
Bozho 31.08.2010 11:49
quelle
1

Sie können @Value verwenden.

Eigenschaftendatei:

%Vor%

Java-Code:

%Vor%     
Marcos Nunes 13.06.2017 18:48
quelle
0

Sie könnten so etwas tun: Maven Abhängigkeit

%Vor%

Fügen Sie den Import hinzu.

%Vor%

...

%Vor%

In Ihrem Quell-XML-Anwendungskontext:

%Vor%

Sie benötigen diesen Namensraum

%Vor%     
cralfaro 19.02.2016 16:05
quelle

Tags und Links