com.sun.proxy.$Proxy25 cannot be cast to com.levi.service.impl.ProductServiceImpl和proxy-target-class

原创 2016年08月28日 20:32:27

刚刚写一个项目的时候出现了一个错误 com.sun.proxy.$Proxy25 cannot be cast to com.levi.service.impl.ProductServiceImpl,之前报错的代码为:

ProductServiceImpl p=(ProductServiceImpl) applicationContext.getBean("productService");
上面的ProductServiceImpl类是一个实现的ProductService接口的。利用spring ioc获取这个productService  bean的时候,不能转换为ProductServiceImpl,而只能转为它的父接口ProductService。查了很多资料,发现是Spring AOP的一个配置文件问题。proxy-target-class这个参数。将spring配置文件改为下面就行了:

   <!-- 配置事务切面 -->  
    <aop:config proxy-target-class="true">  
        <aop:pointcut id="serviceOperation"  
            expression="execution(* com.levi.service..*.*(..))" />  
        <aop:advisor advice-ref="txAdvice" pointcut-ref="serviceOperation" />  
    </aop:config>  
  
   <!-- 自动扫描加载构建bean -->  
    <context:component-scan base-package="com.levi" />  
proxy-target-class属性值决定是基于接口的还是基于类的代理被创建。如果proxy-target-class 属性值被设置为true,那么基于类的代理将起作用(这时需要cglib库)。如果proxy-target-class属值被设置为false或者这个属性被省略,那么标准的JDK 基于接口的代理将起作用。



版权声明:版权是什么东西,看得上的随便转。

spring的Annotation动态代理报错$Proxy11 cannot be cast to com.spring.service.BServiceImpl解决方案

spring aop java.lang.ClassCastException: $Proxy12 cannot be cast to
  • gongli109
  • gongli109
  • 2015年11月13日 11:45
  • 828

com.sun.proxy.$Proxy25 cannot be cast to SessionImplementor

今天在用传统框架ssh时出现了如题的错误,版本是hibernate4.x和struts2.x和spring4.x。之前用hibernate3.x和spring3.x还好好的,代码如下 @Overri...
  • xudidiaoqiufan
  • xudidiaoqiufan
  • 2016年05月31日 17:00
  • 543

Spring com.sun.proxy.$Proxy6 cannot be cast to

今天在带领学生做spring声明式事务时,部分同学的程序报错com.sun.proxy.$Proxy6 cannot be cast to。下面就详细介绍一下这个错误的原因及解决方法。...
  • psp0001060
  • psp0001060
  • 2016年11月08日 22:25
  • 3778

java.lang.ClassCastException: com.sun.proxy.$Proxy27 cannot be cast to com.bbk.n002.service.Question

报错:Exception in thread "main" java.lang.ClassCastException: $Proxy0 cannot be cast to com.wr.domain....
  • a137268431
  • a137268431
  • 2015年04月08日 10:53
  • 1895

Java动态代理 报 com.sun.proxy.$Proxy0 cannot be cast to ** 的错误

我在学习 Java 的动态代理的时候,一直在使用 Proxy.newProxyInstance 方法生成代理的时候报错(如标题)。 我使用各种方法都无法解决这个问题,后来我直接用别人博客上的...
  • wwy543565357
  • wwy543565357
  • 2015年05月11日 17:05
  • 4304

java.lang.ClassCastException: com.sun.proxy.$Proxy* cannot be cast to***问题解决方案

临床表现: 使用Spring AOP动态代理; 使用Spring管理的bean类继承自某个接口; Spring容器中有你要代理的bean的id,但是该id不能强制转换成Bean类。 病例: 定义代理...
  • kuaisuzhuceh
  • kuaisuzhuceh
  • 2015年03月30日 20:08
  • 4677

动态代理异常com.sun.proxy.$Proxy0 cannot be cast to

本人在学习动态代理的时候,做了些练习,结果报出了 Exception in thread "main" java.lang.ClassCastException: com.sun.proxy.$Pro...
  • s3395719
  • s3395719
  • 2017年07月25日 11:57
  • 1412

java.lang.ClassCastException: com.sun.proxy.$Proxy4 cannot be cast to

java.lang.ClassCastException: com.sun.proxy.$Proxy4 cannot be cast to com.maju.spring.jdkproxysalary...
  • a1491918446
  • a1491918446
  • 2015年09月24日 18:56
  • 2336

java.lang.ClassCastException: sun.proxy.$Proxy7 cannot be cast to

在ssh框架中,在测试类getbean()获取对象的时候会报java.lang.ClassCastException: sun.proxy.$Proxy7 cannot be cast to的错误,如...
  • kuitao4232
  • kuitao4232
  • 2016年12月07日 17:20
  • 298

EJB学习(三)——java.lang.ClassCastException: com.sun.proxy.$Proxy2 cannot be cast to..

在上一篇博客介绍了如何使用使用Eclipse+JBOSS创建第一个EJB项目,在这期间就遇到一个错误:     Exception in thread "main" java.lang.ClassCa...
  • zjx86320
  • zjx86320
  • 2015年07月30日 10:25
  • 3282
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:com.sun.proxy.$Proxy25 cannot be cast to com.levi.service.impl.ProductServiceImpl和proxy-target-class
举报原因:
原因补充:

(最多只允许输入30个字)