我有两个类ClientLogic1和WelcomeBean1,如下所示
public class ClientLogic1 {
public static void main(String[] args)
{
Resource res = new ClassPathResource("spconfig.xml");
BeanFactory factory = new XmlBeanFactory(res);
Object o = factory.getBean("id1");
WelcomeBean1 wb = (WelcomeBean1)o;
wb.show();
}
}
第二课
public class WelcomeBean1 {
private Map data;
public void setData(Map data) {
this.data = data;
}
public void show()
{
Set s=data.entrySet();
Iterator it = s.iterator();
while(it.hasNext())
{
Map.Entry me = (Map.Entry)it.next();
System.out.println(me.getKey()+ " - "+me.getValue());
}
}
}
我有一个xml文件
<beans>
<bean id="id1" class="WelcomeBean1">
<property name="data">
<map>
<entry key="k1">
<vlaue>1323</value>
</entry>
<entry key="k2">
<value>feed</value>
</entry>
</map>
</property>
</bean>
</bean>
我已经给出了正确的路径。就在我运行此程序时,我收到以下错误
Exception in thread "main" java.lang.ClassCastException: WelcomeBean cannot be
cast to mapexmpl.WelcomeBean1 at mapexmpl.ClientLogic1.main(ClientLogic1.java:15)
我不知道我哪里出错了。有人可以帮助我......
答案 0 :(得分:0)
实际上它是说WelcomeBean
不能..............但是你的代码显示为WelcomeBean1。
你在一些地方使用了WelcomeBean。请检查一次。
我认为在您使用WelComeBean之前。然后将其更改为WelComeBean1.Please使用clean构建agian。
答案 1 :(得分:0)
确保spring配置文件中没有重复的bean id。例如,您可能拥有ID WelcomeBean ,ID id1
更改为完整包名<bean id="id1" class="mapexmpl.WelcomeBean1">