wie zu Lesen properties-Datei im Frühling Projekt?
Vor diesem post Frage ich google um die Eigenschaften von Feder-Projekt(es ist KEINE web-basierte Projekt). Ich bin verwirrt, da jeder reden application-context.xml und Konfiguration wie
Aber, ich arbeite an einem normalen Java-Projekt mit Feder(KEINE Web-app und so ein Zeug). Aber ich würde gerne einige Allgemeine Eigenschaften von properties-Datei und verwendet werden muss in der JAVA Datei. Wie können Sie erreichen dies, indem Sie Feder - /Spring-Annotationen?
Soll, wo ich konfigurieren myprops.Eigenschaften-Datei in mein Projekt und wie aufrufen, über den Frühling?
Mein Verständnis ist application-context.xml NUR für web-basierte Projekte. Wenn nicht, wie muss ich dies konfigurieren application-context.xml da ich NICHT haben web.xml definieren application-context.xml
XML-Konfiguration ist nicht nur für web-basierte Projekte
Ja. Sind Sie richtig. Meine Frage wäre, wo genau diese XML-Datei muss vorhanden sein, unter dem Projekt-Arbeitsbereich(spring.xml oder other.xml) im Java-Projekt
InformationsquelleAutor Sriks | 2013-01-28
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie erstellen eine XML-basierte Anwendung Kontext:
wenn die xml-Datei befindet sich in Ihrer Klasse Weg. Alternativ können Sie eine Datei auf dem Datei-system:
Mehr Informationen finden Sie in der Frühjahr Referenz-docs. Sollten Sie auch registrieren Sie einen shutdown-hook zu gewährleisten ordnungsgemäßes Herunterfahren:
Nächsten, können Sie die PropertyPlaceHolderConfigurer zum extrahieren der Eigenschaften einer '.properties " - Datei und injizieren Sie in Ihre Bohnen:
Schließlich, wenn Sie lieber annotation-basierte Konfiguration, die Sie verwenden können, die
@Value
Kommentar zu injizieren Eigenschaften in Ihnen Bohnen:Wenn Sie möchten, füllen ein Eigenschaften Objekt, werfen Sie einen Blick hier (vergessen Sie nicht, fügen Sie die
finally
block zu schließen, den Strom).Wunderbare Erklärung. Ich Schätze die Antwort und Ihre Zeit. Aber ich habe die einfache Frage, wie, wo, XML-mapping getan werden muss, um unter dem Arbeitsbereich(spring.xml oder application-context.xml oder other.xml) Was ist der beste Weg, um den Namen der XML-Datei und was wäre die top-level-schema?
Afaik, es gibt keine Allgemeine Regel, aber hier sind einige Vorschläge. Für ein kleines Projekt, ich finde Eure Vorschläge spring.xml oder application-context.xml Sinn machen. Für grössere Projekte besteht aus mehreren Teilprojekten, würde ich wahrscheinlich den Namen haben Sie nach der subdomain, z.B. core-context.xml, backend-context.xml, client-context.xml usw. Wenn Sie aus irgendeinem Grund möchte externalisieren die Datenbank config, db-context.xml und so weiter...
Ich entwickle eine eigenständige java-Applikation , gepackt als JAR. Ich properties-Datei außerhalb o JAR-d.h. die properties-Datei befinden sich neben jar-Datei. Wie Kann ich einen Pfad von dieser property-Datei?
InformationsquelleAutor matsev
Als der Feder 4, die Sie verwenden können, die @PropertySource Anmerkungen im Frühjahr
@Configuration
Klasse:Wenn Sie möchten, dass Ihre config außerhalb des klassenpfades, können Sie die
file:
Präfix:Alternativ können Sie eine Umgebungsvariable definieren, die Datei
Wo
APP_PROPERTIES
ist eine Umwelt-Variablen, die den Wert der Lage der Immobilie-Datei, z.B./path/to/application.properties
.Bitte Lesen Sie mein blog-post Spring @PropertySource für weitere Informationen über
@PropertySource
, Ihrer Verwendung, die wie property-Werte können überschrieben werden, und wie die optionale Eigenschaft Quellen angegeben werden können.InformationsquelleAutor matsev
Sie müssen nicht auf den Frühling.
Sie können Lesen mit plain java so:
InformationsquelleAutor jediz
Können Sie herausfinden, wie Ihr Projekt verwendet werden in der gesamten app? Wenn Ihr Projekt verwendet wird, als build-Pfad für eine web-app und die Konfiguration in Ihrem Projekt erreicht durch die spring-Annotationen, so dass kein Zweifel, Sie sind verwirrt darüber, wie eine
application.xml
- Datei. Mein Vorschlage Sie haben zu verkünden, die Jungs, die mit Ihrem Projekt, sagen Sie Ihnen, was Sie brauchen, und Sie brauchen nur zu addieren@Value("${valuename}")
im code.InformationsquelleAutor Evan Hu