Legen Sie Eigenschaften für System-oder Umgebungsvariablen Vor Eigentum Platzhalter mit SpringJunit4ClassRunner

Ich habe einen main app-context.xml definiert eine Eigenschaft Platzhalter mit zwei Standorten: Standard-properties-Datei und einer optionalen override-Datei:

<context:property-placeholder
        location="classpath:config.properties,${configOverride}"
        ignore-resource-not-found="true" />

Den optionalen override-Position erlaubt die Angabe weiterer Eigenschaften der Datei (z.B. "-DconfigOverride=file:/home/app/config.Eigenschaften") nur mit den Eigenschaften, sollten außer Kraft gesetzt werden.

Für meine unit-tests, bin ich mit einer test-Kontext, dass die Einfuhren app-context.xml:

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = {"classpath:test-context.xml"})
public class UserServiceTest {
    ...
}

Wie kann ich einstellen, system Eigenschaften oder von environment-Variablen innerhalb der Anwendung vor der Anwendung den Kontext geladen ist? Ich möchte den gleichen Effekt erzielen, wie die Einstellung "-DconfigOverride=classpath:testConfig.Eigenschaften" über alle test-Klassen ohne Angabe von Kommandozeilen-arg, wenn möglich.

InformationsquelleAutor andy | 2012-05-30

Schreibe einen Kommentar