Ich benutze Feder 3.1 mit Federprofilen, um die Bohnen zu laden. In meiner App-Kontextdatei lade ich die Eigenschaften wie folgt:
%Vor%Und dann verwende ich den Eigenschaftswert, um die Datenquellen-Bean wie
zu laden %Vor%Es funktioniert gut. Das Problem beginnt, wenn ich ein paar weitere Eigenschafts-Platzhalter hinzufüge, damit Eigenschaften von einigen Datenbanktabellen geladen werden können.
Dies verwendet eine Eigenschaftsreferenz, die von
geladen wird %Vor% Um zu den Details hinzuzufügen, verwendet configFactoryBean
das datasource
, um die Eigenschaften aus der Datenbank zu laden.
Wenn ich das mache, habe ich die folgende Ausnahme:
%Vor% Meine Analyse besteht darin, dass versucht wird, datasource
vor dem Auflösen der Eigenschaft aus dem Platzhalter der ersten Kontexteigenschaft zu laden. Ich kann mich irren. Oder die Federprofilvariable wird nicht korrekt aufgelöst.
Kann jemand bitte mir helfen, das zu beheben.
Danke Akki
Dieser Fehler bezüglich mehrerer Eigenschaftenplatzhalter könnte sich auf Ihr Problem beziehen: Ссылка
Wenn mehrere
PropertyPlaceholderConfigurer
in Verbindung mit verwendet werden@Value
Annotation und Standardwert für Platzhaltersyntax (d. h${key:defaultValue}
), nur der erstePropertyPlaceholderConfigurer
ist benutzt. Wenn dieser Konfigurator nicht den gewünschten Wert enthält, fällt er ab Zurück zu@Value
Standard auch wenn der zweitePropertyPlaceholderConfigurer
enthält den Wert.Betrifft Version / en: 3.1.3
Jeder & lt; Kontext: Eigenschaft-Platzhalter & gt; erstellt eine neue Instanz von PropertyPlaceholderConfigurer - es wird leicht unordentlich. Sie sollten so etwas pro Anwendung und auf Anwendungsebene haben, nicht auf Bibliotheken - das macht die Wartung viel einfacher.
Für weitere Details und einen Vorschlag, wie Sie damit umgehen können, sehen Sie hier: Ссылка
In meiner Anwendung verwende ich Property-Platzhalter-Configurer in folgender Weise und es funktioniert sehr gut. Sie können das versuchen.
%Vor%Ich denke, das sollte dein Problem lösen. :)
Da Sie vorgeschlagen haben, den Pfad zur Konfigurationsdatei fest zu codieren, versuchen Sie, das Attribut profiles auf dem Tag zu verwenden, um die Konfiguration selektiv einzubeziehen.
%Vor%Siehe diesen Artikel, der Profile erklärt: Ссылка
Tags und Links java hibernate spring spring-mvc