2012-11-23 8 views
14
<?xml version="1.0" encoding="UTF-8"?> 
<beans xmlns="http://www.springframework.org/schema/beans" 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xsi:schemaLocation="http://www.springframework.org/schema/beans http://   www.springframework.org/schema/beans/spring-beans.xsd"> 

    <bean id="test" class="com.Test"> 
     <constructor-arg> 
      <list> 
       <value>aa</value> 
       <value>bb</value> 
       <value>cc</value> 
      </list> 
     </constructor-arg> 
    </bean> 
</beans> 

Dies ist meine aktuelle XML. Wenn nur Test eine Liste genommen hat - alles wäre in Ordnung. Das Problem ist, dass Test ein Array von Strings nimmt.Injizieren Array von Zeichenfolgen zu einer Bohne im Frühjahr

Wie macht man das im Frühling?

+0

Und sollte nehmen? –

Antwort

16

sollten Sie verwenden:

<constructor-arg> 
    <array> 
     <value>aa</value> 
     <value>bb</value> 
     <value>cc</value> 
    </array> 
</constructor-arg> 

Ein Array kann mehrere innere bean, ref, Sammlung oder Wert Elemente enthalten. Dieses Konfigurationselement wird immer zu einem Array führen, selbst wenn es z.B. als Wert für eine Karte mit Werttyp Objekt.

Sie können auch einen Werttyp angeben, die Sie vorbei sein wird:

<array value-type="java.lang.String"> 
    <value>aa</value> 
    <value>bb</value> 
    <value>cc</value> 
</array> 

Wert-Typ

Die Standard-Java-Typ für verschachtelte Werte. Muss ein vollständig qualifizierter Klassenname sein.

4

anstelle von <list> Verwendung

<array> 
    <value>aa</value> 
    <value>bb</value> 
    <value>cc</value> 
</array> 
1

Mit Frühlings Version 3.2.8 Sie

<constructor-arg> 
    <list> 
     <value>aa</value> 
     <value>bb</value> 
     <value>cc</value> 
    </list> 
</constructor-arg> 

ohne Probleme nutzen können.

Verwandte Themen