今天在写SpringAop时报了com.sun.proxy.$Proxy14 cannot be cast to com.spring.beans.aop.Computerimpl,代码如下:
ApplicationContext ac=new ClassPathXmlApplicationContext("IOC_scan.xml");
Computerimpl com=(Computerimpl) ac.getBean("computerimpl");
System.out.println(com.add(1, 2));
其中红色部分为报错原因,不能用接口的实现类(Computerimpl)来转换Proxy的实现类,它们是同级,应该用共同的接口来转换。将红色代码修改为:
Computer com=(Computer) ac.getBean("computerimpl");
编译后没有该报错了。
引用:点击打开链接