2013-03-19 51 views
0

我有两个类ClientLogic1和WelcomeBean1如下获得ClassCastException异常错误

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) 

我不知道我要去的地方wrong.Can有人帮我PLZ ...

+0

有任何WelcomeBean – PSR 2013-03-19 05:28:57

+0

我觉得这是一个构建的问题,清洁和重新生成项目 – 2013-03-19 05:32:10

+0

@ PSR-no我检查了它,但我没有在代码中的任何地方使用WelcomeBean – Ezhil 2013-03-19 05:37:10

回答

0

其实跟它的WelcomeBean不能..............但是你的代码全部显示为WelcomeBean1。

您使用了WelcomeBean some where。请检查一次。

我想在你使用WelComeBean之前,然后将它改为WelComeBean1.Please建立干净的安吉安。

+0

@ user1847395你仍然收到错误 – PSR 2013-03-19 05:43:06

+0

是的,我仍然收到错误,我也清理了项目..是的,我把班级名称从WelcomeBean更改为WelcomeBean1 – Ezhil 2013-03-19 05:45:18

+0

@ user1847395然后做一件事。将所有WelComeBean1重新命名为Test.Now,我们可以确定问题出在哪里 – PSR 2013-03-19 05:46:04

0
  1. 确保spring配置文件中没有重复的bean id。例如,你可能有豆WelcomeBean与ID ID1

  2. 改变完整的包名<bean id="id1" class="mapexmpl.WelcomeBean1">

+0

我改变了它,但它仍然显示相同的错误 – Ezhil 2013-03-19 05:38:49