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:
Resultierende someProps: {p1=qwe,p2=asd,p3=zxc}
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%Ich fürchte, Sie können nicht direkt. Aber du kannst
ApplicationContextAware
und setze die ApplicationContext
als ein Feld in Ihrer Bean. @PostConstruct
Methodenaufruf context.getBean("${aaa.props}")
Sie können @Value
verwenden.
Eigenschaftendatei:
%Vor%Java-Code:
%Vor%Tags und Links spring