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 基于接口的代理将起作用。



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

相关文章推荐

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

今天在用传统框架ssh时出现了如题的错误,版本是hibernate4.x和struts2.x和spring4.x。之前用hibernate3.x和spring3.x还好好的,代码如下 @Overri...

Spring aop报错:com.sun.proxy.$Proxy cannot be cast to xxx

描述错误 有一个 BaseService 接口 public interface BaseService 2.有一个BaseServiceImpl 实现类 public class B...

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

本人在学习动态代理的时候,做了些练习,结果报出了 Exception in thread "main" java.lang.ClassCastException: com.sun.proxy.$Pro...

java.lang.ClassCastException: $Proxy17 cannot be cast to *.*.*.service.impl.DeviceService

报错: java.lang.ClassCastException: $Proxy17 cannot be cast to *.*.*.service.impl.DeviceService at *...
  • yydcj
  • yydcj
  • 2013年06月07日 11:38
  • 1389

com.sun.proxy.$Proxy2 cannot be cast to com.vnb.HelloWorldImpl1

com.sun.proxy.$Proxy2 cannot be cast to com.vnb.HelloWorldImpl1

com.domain.*_$$_javassist_6 cannot be cast to javassist.util.proxy.Proxy问题

使用Hibernate映射实体时,出现这个错误: 解决方案,在Hibernate包中有一个javassist-3.18.1-GA.jar跟Struts2中的javassist-3.11.0-GA.j...
  • JYH1314
  • JYH1314
  • 2016年04月16日 17:34
  • 1505

Cannot subclass final class class com.sun.proxy.$Proxy16

背景这个错误是我在使用AOP动态切换数据库,实现数据库的读写分离的时候出现的问题,使用到的系统环境是:3.2.6.RELEASE 3.2.4 1.1.1使用的代码执行切...

java.lang.ClassCastException: com.bumptech.glide.request.target.SquaringDrawable cannot be cast to a

Glide 图片加载报错:java.lang.ClassCastException: com.bumptech.glide.request.target.SquaringDrawable cannot...
  • onceing
  • onceing
  • 2017年06月15日 10:57
  • 794

com.mchange.v2.c3p0.impl.NewProxyConnection cannot be cast to com.mysql.jdbc

今天利用C3P0连接池、自己做的DataSourceUtils工具类做了一个转账操作,运行的时候出现这个错误,刚开始的时候有点蒙圈,后来仔细一看报错行,都是出现了强转了的,比如:connection=...

Cannot proxy target class because CGLIB2 is not available. Add CGLIB to the class path or specify pr

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'userService'...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:com.sun.proxy.$Proxy25 cannot be cast to com.levi.service.impl.ProductServiceImpl和proxy-target-class
举报原因:
原因补充:

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