Ich muss den String-Wert einer Spring-Bean zu einer vorhandenen Zeichenfolge verketten und sie dann als Attribut einer anderen Bean festlegen:
%Vor%An dieser Stelle habe ich den Hostnamen in der 'Host'-Bean. Ich muss es nun verketten und an das Attribut publishedEndpointUrl übergeben. Etwas wie das:
%Vor%Wie wird dies mit der Spring xml-Konfiguration gemacht?
Sie könnten Spring-EL und% co_de verwenden %:
%Vor%BEARBEITEN:
Das factory-method
-Tag scheint in der Lage zu sein, Bean-Werte zu referenzieren, indem die jaxws:endpoint
-Notation verwendet wird, aber Spring-EL nicht. Also, indem wir eine #beanId
-Bohne konstruieren, umgehen wir das und es sieht immer noch ziemlich ordentlich aus.
Dies bedeutet, dass Sie Standardwerte für $ {driver} und $ {dbname} haben, mit denen die Datenquelle definiert wird. Diese Werte können in der Datei application.properties oder sogar als Option -D in der Befehlszeile überschrieben werden.
Da jaxws: * namespace nicht Spring EL mag, könnte eine Alternative sein, EndpointImpl Bean anstelle des jaxws:endpoint
-Objekts.
Es ist etwas mehr Arbeit, aber wie in Ссылка angegeben, ist es das eigentliche Implementierung von der Namespace-Deklaration verwendet.
Sie können propertyplaceholder vars und Spring EL:
mischen %Vor%
Sehen Sie sich $ {db.servername} # {':'} $ {db.port} an.