java.lang.ClassCastException: com.sun.proxy.$Proxy6 cannot be cast to com.etc.service.serviceImpl.BankServiceImpl

时间:2023-11-29 22:13:08

错误原因:

java.lang.ClassCastException: com.sun.proxy.$Proxy6 cannot be cast to com.etc.service.serviceImpl.BankServiceImpl

  对于Spring AOP 采用两种代理方法,一种是常规JDK,一种是CGLIB,我的BankServiceImpl实现了一个接口BankService,当代理对象实现了至少一个接口时,默认使用JDK动态创建代理对象,当代理对象没有实现任何接口时,就会使用CGLIB方法。由于BankServiceImpl实现了BankService接口,所以强制转换必须用父类BankService来定义

如果你的代理对象没有实现接口的方法,就将代理对象转换成接口。 
  获取代理类的代码该为:

java.lang.ClassCastException: com.sun.proxy.$Proxy6 cannot be cast to com.etc.service.serviceImpl.BankServiceImpl