用 ClassPathXmlApplicationContext 获取 bean,转换时报错 ClassCastException: $Proxy0 cannot be cast to com.xx.Uxxx
原来的代码写的是:
ApplicationContext ac = new ClassPathXmlApplicationContext("spring.xml");
Performer performer = (PerformerImpl) ac.getBean("kenny"); // 这样写再转换,就报错 $Proxy0 cannot be cast to com.xxxx
解决方法: 转换的类型 Performer 应该为接口类型,而不是实现类的类型。
Performer performer = (Performer) ac.getBean("kenny"); // 写成这样,就不报错了