4

在我的课堂上,我有这个二传手

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

4 回答 4

1

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

在此处查看类似的问题和解决方案。您只需要查看第一个和最后一个帖子。

于 2012-05-28T12:52:39.417 回答
0

hm maybe this example in my application helps you:

namespace util is

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>
于 2012-05-28T12:58:43.333 回答
0

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

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

(在 Spring 3.0 上测试。)

于 2013-06-07T20:53:50.097 回答
0

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

于 2015-02-13T07:44:16.033 回答