设置属性Map <object,class <?=“”>&gt;进入spring.xml </object,>

时间:2012-05-28 12:37:48

标签: java spring

在我班上我有这个二传手

public void setSomehing(Map<Object, Class<?>>  beans){
...
}

Object是一个bean,Class是它的接口。 我尝试了更多的组合,但我总是得到

  

cvc-complex-type.2.3:元素'map'不能包含字符[children],因为类型的内容类型只是元素。

一些组合是:

<bean id="rmiServerBeanFactory" class="org.infobip.spring.remoting.server.StandaloneCompositeRmiServerBeanFactory">
        <property name="something">
               <map>
                 <entry key-ref="myBean" value="org.mypackage.MyBeanInterface"/>
             </map>
        </property>
      </bean>

请帮忙。如何在spring.xml中设置它?

4 个答案:

答案 0 :(得分:1)

此错误消息是由于XML中的语法错误引起的。在此示例中,您只希望map元素具有单个条目子项吗?查找开始和结束地图标记之间的杂散字符。尝试按照您的意愿再次重新输入该元素的所有内容。

查看类似的问题和解决方案here。您只需要查看第一篇和最后一篇文章。

答案 1 :(得分:0)

hm也许我的应用程序中的这个例子可以帮助你:

namespace util是

xmlns:util="http://www.springframework.org/schema/util" 

   <property name="something">
        <util:map map-class="java.util.concurrent.ConcurrentHashMap">
            <entry key="a" value="b"/>
        </util:map>
    </property>

答案 2 :(得分:0)

有几种方法可以做到这一点,但其中一个更紧凑的方法如下:

<map value-type="java.lang.Class">
    <entry key-ref="myBean" 
           value="org.mypackage.MyBeanInterface"/>
</map>

(在Spring 3.0上测试过。)

答案 3 :(得分:0)

您的XML格式和语法在某处出错了。它的真正含义(Sinn)是允许...元素包含子元素,但不允许包含裸文本(&#34;内容类型仅元素&#34;)并且杂散加号是裸文本。