2011-03-07 88 views
8

我想在Spring上下文文件中初始化映射映射。我得到這個xsd錯誤。應用程序上下文中的地圖映射初始化

cvc-complex-type.2.4.d:找到以元素'map'開頭的無效內容。預計在這一點上不會有子元素。

這是豆defnition:

<bean id="voToDOMapper" class="com.yyy.yyy.yyy.yyy.configuration.VOToDOMapper" factory-method="getInstance"> 
    <property name="channelToMapper"> 
    <map key-type="java.lang.String" value-type="java.util.HashMap"> 
     <entry key="yyy" > 
     <value> 
      <map> 
       <entry key="com.yyy.yyy.yyy.AsyncAddressChangeEventVO"> 
        <value>com.yyy.yyy.yyy.vo.yyy.FakeAcctAddressEvent</value> 
       </entry> 
      </map> 
     </value> 
     </entry> 
    </map> 
    </property> 

</bean> 

任何幫助將不勝感激。

回答

10

一種方式

<util:map> 
     <entry key="x" value-ref="val1"></entry> 
</util:map> 

<util:map id="val1"> 
    <entry key="a" value="blob"></entry> 
    <entry key="b" value="clob"></entry> 
</util:map> 

啓用的xmlns:UTIL =「http://www.springframework.org/schema/util使用UTIL的

+1

你可以給我完整的bean定義? – 2011-03-08 13:33:19

+0

這讓我很開心!謝謝。@VanchinathanChandrasekaran - 你不一定需要超出上面的bean定義,但是如果你想定義包裝圖(即上面的第一張圖),你可以用a顯式設置MapFactoryBean它的targetMapClass的java.util.HashMap屬性...再次不確定它是否真的有必要 – jsh 2012-05-04 19:13:47