Exception in thread “main“ java.lang.ClassCastException: com.sun.proxy.$Proxy0 cannot be cast to com

在实现JDK动态代理时遇到类转换异常,问题出在尝试将代理对象转换为非代理类的实例。确保使用的是接口而不是具体类,并检查类型转换语句的正确性。
userdao userdao2 = new dao();
userdao proxy= (userdao) Proxy.newProxyInstance(userdao2.getClass().getClassLoader(), userdao2.getClass().getInterfaces(), new InvocationHandler() {  .........}

当写JDK动态代理时出现:  类型转换错误

“ Exception in thread "main" java.lang.ClassCastException: com.sun.proxy.$Proxy0 cannot be cast to com.text.userdao
    at com.text.PO.main ”

一般是类型转换语句中有写错部分或者是接口用错(需要使用父接口)

"C:\Program Files\Java\jdk-17\bin\java.exe" "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA 2024.2.1\lib\idea_rt.jar=49944:C:\Program Files\JetBrains\IntelliJ IDEA 2024.2.1\bin" -Dfile.encoding=UTF-8 -classpath C:\Users\MY\IdeaProjects\srpring-rj2\target\classes;C:\Users\MY\.m2\repository\org\springframework\spring-context\5.3.25\spring-context-5.3.25.jar;C:\Users\MY\.m2\repository\org\springframework\spring-aop\5.3.25\spring-aop-5.3.25.jar;C:\Users\MY\.m2\repository\org\springframework\spring-beans\5.3.25\spring-beans-5.3.25.jar;C:\Users\MY\.m2\repository\org\springframework\spring-core\5.3.25\spring-core-5.3.25.jar;C:\Users\MY\.m2\repository\org\springframework\spring-jcl\5.3.25\spring-jcl-5.3.25.jar;C:\Users\MY\.m2\repository\org\springframework\spring-expression\5.3.25\spring-expression-5.3.25.jar;C:\Users\MY\.m2\repository\com\mysql\mysql-connector-j\8.0.33\mysql-connector-j-8.0.33.jar;C:\Users\MY\.m2\repository\com\google\protobuf\protobuf-java\3.21.9\protobuf-java-3.21.9.jar;C:\Users\MY\.m2\repository\org\springframework\spring-jdbc\5.3.39\spring-jdbc-5.3.39.jar;C:\Users\MY\.m2\repository\org\springframework\spring-tx\5.3.39\spring-tx-5.3.39.jar;C:\Users\MY\.m2\repository\org\aspectj\aspectjweaver\1.9.7\aspectjweaver-1.9.7.jar jdbc.transaction.annotation.TransactionAnnoTest Exception in thread "main" java.lang.ClassCastException: class jdk.proxy2.$Proxy12 cannot be cast to class jdbc.transaction.xml.Transaction (jdk.proxy2.$Proxy12 is in module jdk.proxy2 of loader 'app'; jdbc.transaction.xml.Transaction is in unnamed module of loader 'app') at jdbc.transaction.annotation.TransactionAnnoTest.main(TransactionAnnoTest.java:13) 进程已结束,退出代码为 1
最新发布
03-22
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值