Wie wird die Systemeigenschaftendatei im Frühjahr geladen?

8

Ich habe eine Eigenschaftendatei, die ich in Systemeigenschaften laden möchte, damit ich über System.getProperty("myProp") darauf zugreifen kann. Momentan versuche ich den Spring <context:propert-placeholder/> so zu verwenden:

%Vor%

Wenn ich jedoch versuche, über System.getProperty("myProp") auf meine Eigenschaften zuzugreifen, bekomme ich null . Meine Eigenschaftendatei sieht folgendermaßen aus:

%Vor%

Wie kann ich das erreichen? Ich bin mir ziemlich sicher, dass ich ein Laufzeitargument festlegen könnte, aber ich möchte das vermeiden.

Danke!

    
Polaris878 07.11.2010, 06:04
quelle

3 Antworten

9

Während ich den Geist von Bozhos Antwort abonniere , ich hatte kürzlich auch eine Situation, in der ich Systemeigenschaften von Spring einstellen musste. Hier ist die Klasse, die ich mir ausgedacht habe:

Java-Code:

%Vor%

Spring-Konfiguration:

%Vor%     
Sean Patrick Floyd 07.11.2010, 10:49
quelle
17

Im Frühjahr 3 können Sie die Systemeigenschaften auf folgende Weise laden:

%Vor%     
Florin 26.10.2011 01:24
quelle
10

Der Punkt ist, dies anders herum zu tun - d. h. Systemeigenschaften im Frühling zu verwenden, anstatt Federeigenschaften im System.

Mit PropertyPlaceholderConfigurer erhalten Sie Ihre Eigenschaften + die Systemeigenschaften über die ${property.key} -Syntax zugänglich. Im Frühjahr 3.0 können Sie diese mit der @Value Annotation injizieren.

Die Idee besteht nicht darin, sich auf Aufrufe von System.getProperty(..) zu verlassen, sondern stattdessen Ihre Eigenschaftswerte zu injizieren. Also:

%Vor%

statt

%Vor%

Stellen Sie sich vor, Sie möchten Ihre Klasse testen - Sie müssten das System -Objekt mit Eigenschaften auffüllen. Mit dem Spring-Way müssten Sie nur einige Felder des Objekts setzen.

    
Bozho 07.11.2010 09:00
quelle

Tags und Links