我需要使用带有类名的包来创建带有id或name的bean。
例如
<bean class="org.chameleon.commons.context.resolver.impl.UserContextResolver" scope="prototype"
/>
我希望它像这样
org.chameleon.commons.context.resolver.impl.UserContextResolver
但它向我展示了这一点。
org.chameleon.commons.context.resolver.impl.UserContextResolver@if
如何将bean作为我的必需名称。
答案 0 :(得分:0)
您应该为bean定义添加“id”或“name”属性,例如
<bean id="org.chameleon.commons.context.resolver.impl.UserContextResolver" class="org.chameleon.commons.context.resolver.impl.UserContextResolver" scope="prototype" />
如Spring参考文档5.3.1命名bean 1
中所述在基于XML的配置元数据中,使用id和/或name属性指定bean标识符。 id属性允许您指定一个id。通常这些名称是字母数字(myBean,fooService等),但也可能包含特殊字符。如果要向bean引入其他别名,还可以在name属性中指定它们,用逗号(,),分号(;)或空格分隔。 作为历史记录,在Spring 3.1之前的版本中,id属性被定义为xsd:ID类型,它约束了可能的字符。从3.1开始,它被定义为xsd:string类型。请注意,bean ID唯一性仍由容器强制执行,但不再由XML解析器强制执行。 您不需要为bean提供名称或ID。如果没有显式提供名称或标识,则容器会为该bean生成唯一的名称。但是,如果要通过名称引用该bean,则必须通过使用ref元素或Service Locator样式查找来提供名称。