Ich habe einen Frühling-Managed-Bean, die Eigenschaften mit einem property-placeholder
in der damit verbundenen context.xml
lädt:Dynamic @ Value-Äquivalent im Frühjahr?
<context:property-placeholder location="file:config/example.prefs" />
I Eigenschaften mit Hilfe Spring @Value
Anmerkungen bei der Initialisierung zugreifen kann, zB:
@Value("${some.prefs.key}")
String someProperty;
... aber ich muss diese Eigenschaften anderen (nicht von Spring verwalteten) Objekten auf generische Weise zugänglich machen. Im Idealfall könnte ich sie durch ein Verfahren aussetzen wie:
public String getPropertyValue(String key) {
@Value("${" + key + "}")
String value;
return value;
}
... aber natürlich kann ich nicht die @Value
Anmerkung in diesem Zusammenhang verwenden. Gibt es irgendeine Weise, die ich die Eigenschaften von Spring aus example.prefs
zur Laufzeit mit den Tasten geladen zugreifen kann, z.B .:
public String getPropertyValue(String key) {
return SomeSpringContextOrEnvironmentObject.getValue(key);
}
ich denke, das ist das, was Sie suchen: http://stackoverflow.com/questions/1771166/access-properties-file -programatically-with-spring/6817902 # 6817902 –
Ich würde eine Nomral-Bohne erstellen, die die Frühlingsbohne als Construtr-Argument nimmt, wobei die Frühlingsbohne ihre Werte bereits so festgelegt hat, wie sie vom Frühling instanziiert wurde. Ich denke, das hängt etwas von Ihrer Architektur ab. – NimChimpsky
Können Sie uns mehr über das sagen, was Sie "non-Spring managed" nennen? –