Verkettete Zeichenfolge im Frühjahr xml-Konfiguration

8

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?

    
rouble 22.11.2011, 22:50
quelle

4 Antworten

16

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.

    
beny23 22.11.2011, 23:41
quelle
3

Sie müssen sich PropertyPlaceholderConfigurer . Auf diese Weise können Sie globale Eigenschaften definieren, die entweder aus einer Eigenschaftendatei stammen können, oder in Ihrem Fall können Sie einen Standardwert definieren. In diesem Fall handelt es sich lediglich um eine globale Eigenschaft. Folgendes wird funktionieren:

%Vor%

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.

    
Matthew Farwell 22.11.2011 23:07
quelle
1

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.

    
edrabc 01.10.2012 13:58
quelle
1

Sie können propertyplaceholder vars und Spring EL:

mischen %Vor%

Sehen Sie sich $ {db.servername} # {':'} $ {db.port} an.

    
Rodrigo Garcia 20.05.2015 18:12
quelle

Tags und Links