globale Eigenschaften im Frühjahr

8

ist es möglich, in einer Spring-Kontextdatei und einer oder mehreren Eigenschaften zu definieren kann in & lt; bean & gt; Elemente.

Das folgende Beispiel zeigt am besten, was ich brauche - Ich möchte die Eigenschaft FOO einmal definieren und dann mehrmals in meinen verschiedenen & lt; bean & gt; Definitionen:

%Vor%

Jede Eingabe wäre sehr willkommen.
Danke, Kevin.

    
Kevin 19.08.2009, 10:28
quelle

3 Antworten

9

Sie können dies mit dem snappily-benannten PropertyPlaceHolderConfigurer tun. Siehe hier für das Beispiel in der Spring-Dokumentation. Sie definieren die Eigenschaftswerte nicht selbst in der Spring-Beans-Datei, sondern externalisieren sie in einer .properties-Datei.

Sie könnten, so vermute ich, PropertyPlaceHolderConfigurer oder eines seiner Geschwister verwenden, um ein Properties -Objekt zu injizieren, das in Ihrer Spring-Datei definiert ist, aber das wäre eine etwas ausführlichere Lösung.

    
skaffman 19.08.2009, 10:35
quelle
4

Wenn Sie sie nur in Ihrer XML-Datei definieren und niemals ändern müssen (wie Sie eine Konfigurationsoption ändern würden, sagen Sie einen Port oder eine IP), können Sie eine Bean der Klasse String mit der angegebenen Eigenschaft erstellen und dann schreiben . Erstellen einer Bean der Klasse String ist nicht die einfachste Sache, aber es ist machbar.

Wenn Sie etwas komplizierteres möchten (z. B. eine Konfigurationsdatei, die sich außerhalb des Jar befindet, in dem sich Ihre XML mit der Bean-Definition befindet), können Sie sich die PropertyPlaceholderConfigurer-Klasse ansehen.

    
laura 19.08.2009 10:36
quelle
3

Ich habe gerade eine Möglichkeit gefunden, dies alles in der Frühjahrs-XML-Datei zu tun, ohne dass eine externe Eigenschaftendatei benötigt wird (obwohl Sie diese bei Bedarf ergänzen können)

%Vor%

Dann referenzieren Sie sie wie üblich als ${foo1} wo nötig

    
Matt 05.08.2013 01:16
quelle

Tags und Links