关于使用动态代理创建代理对象是报错 java.lang.ClassCastException: $Proxy0 cannot be cast to 的解决办法_代理对象创建失败!不支持带有入参的方法!-程序员宅基地

技术标签: javaWeb  

  出现此问题的场景一般有以下两种:

(1)在Java中使用代理模式创建对象。如何创建代理对象在这就不说了。首先,要为代理对象实现接口,然后生成的代理对象用接口的类型进行接收。此处是使用JDK的代理方式,另一种参考下面的第二种应用场景。

(2)在spring框架中使用代理的方式创建对象。Spring的文档中这么写的:Spring AOP部分使用JDK动态代理或者CGLIB来为目标对象创建代理。如果被代理的目标实现了至少一个接口,则会使用JDK动态代理。所有该目标类型实现的接口都将被代理。若该目标对象没有实现任何接口,则创建一个CGLIB代理。

        所以,解决办法是,如果用JDK动态代理,就必须为被代理的目标实现一个接口(要注意的地方是:需要将ctx.getBean()方法的返回值用接口类型接收);如果使用CGLIB强制代理,就必选事先将CGLIB包导入项目,设置beanNameAutoProxyCreator的proxyTargetClass属性为true。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/m765201832/article/details/45269919

智能推荐

Mac上用subprocess出现bin sh command not found_用 subprocess 提示命令不存在-程序员宅基地

源代码import subprocessa=subprocess.Popen(‘dir’,shell=True)print(a)执行结果:/bin/sh: dir: command not found网上看了一堆如何在Mac下解决的方法,结果一个都没看懂,这时候搜了下Mac上bin文件方法:在终端输入 open /bin (注意 / 前面有空格)系统会自动打开bin文件,里面的就是你电脑里拥有的命令文件,输入那里的文件名就可以执行了,由于我电脑里并没有dir命令文件,在pycharm里也就报_用 subprocess 提示命令不存在

事业单位如何请用计算机专业,事业单位计算机专业测试试题及参考答案-程序员宅基地

事业单位计算机专业测试试题及答案一、填空题1. 热启动一台计算机是依次按下 三个组合键(按顺序填写)。2. 比较RAM 和ROM 的特点: 可写? 断电消失?3. 不同汉字输入法的编码不同,但是输入的汉字却是相同的,这是因为4. 新建Word 文档的默认的字体、字号、对齐方式等是由其 文件决定的,其文件扩展名为DOT 。5. 在中文Windows 中,剪贴板常用的三种操作是 、 和 。6. 在Ex...

三月,不要跳槽!_YvetteLau的博客-程序员宅基地

辛丑牛年新年马上到了,相信不少程序员会在春节期间思考年后要不要跳槽的问题了。那么无论你跳槽到大厂还是别的公司,跳槽面试自然少不了要考查算法。尤其是在今年的行情下,竞争会更加残酷,算法更加成...

全力推进加速到来的机器人时代 2022_zhangrelay的博客-程序员宅基地

2022年,如今机器人能做些什么呢?一个全新的时代就此开启:包裹分拣类汽车制造业教育培训类仓储物流类除此之外,自动驾驶/智慧港口等各行各业,全面开启人工智能之机器人时代。现在这些成熟吗?还没有十分成熟,但是一旦……那么对于普通工具人的取代是全面和彻底的。维护这些机器人设备或自动化系统,是未来的就业热点,但是被机器人所取代的这些人,具备这样的技能吗???Will?or When?其实不是能不能,...

Java基础常识-程序员宅基地

JDK常识:JDK(Java Development Kit)是Sun Microsystems针对Java开发员的产品。自从Java推出以来,JDK已经成为使用最广泛的Java SDK。JDK 是整个Java的核心,包括了Java运行环境,Java工具和Java基础的类库。JDK是学好Java的第一步。而专门运行在x86平台的Jrocket在服务端运行效率也要比Sun JDK好很多。从S...

数据库基础:sql语句之数据控制语句(DCL)_sql控制语句-程序员宅基地

数据控制语句:用于控制不同的数据段直接的许可和访问级别的语句。这些语句定义了数据库、表、字段、用户的访问权限权限和安全级别,主要包括关键字grant、revoke等。其主要是DBA用来管理系统中的对象权限时使用,一般开发人员很少使用。一、创建用户1.创建用户create user 'username'@'lhost' identified by 'password'-- usern..._sql控制语句

随便推点

linux多线程及信号处理-程序员宅基地

Linux 多线程应用中如何编写安全的信号处理函数http://hi.baidu.com/yelangdefendou/blog/item/827984efd3af7cd9b21cb1df.htmlSignal HandlingUse reentrant functions for safer signal handlinglinux信号种类1、可靠信号和不可靠信号

软件调试详解_红队蓝军的博客-程序员宅基地

首发于奇安信攻防社区:https://forum.butian.net/share/1478在windows里面调试跟异常息息相关,如果想要对调试得心应手,异常处理的知识是必不可少的,本文主要介绍的是软件调试方面的有关知识,讲解调试程序和被调试程序之间如何建立联系调试器和被调试程序调试器与被调试程序之间建立起联系的两种方式CreateProcessDebugActiveProcess首先看一下调用的再调用通过调用号进入0环进入0环创建结构体然后到里面看一下然后调用了创建结构返回句柄再回到,当前线程回0环创_软件调试

书评第004篇:《恶意代码分析实战》-程序员宅基地

随便在哪家网上书城进行搜索可以知道,在计算机安全类,特别是恶意代码分析领域的书籍可谓是凤毛麟角。如果哪位读者对于恶意代码分析有浓厚的兴趣,要么是去一些大型的安全类论坛看他人的分析报告,要么是在众多的安全类书籍中,东找一点西凑一点地进行学习。这也就说明了市面上确实少有专门针对于恶意代码分析的,以实战为主的书籍。而对于我这样的初学者而言,由于我希望成为一名反病毒工程师,因此我特别想能够阅读到在安全领域有着丰富经验的大牛的作品。而现实中的大牛往往很忙,大部分也不愿意将自己的经验记录下来。于是这就出现了学习的瓶颈,

计算子网掩码和子网个数以及最大主机数?_通过子网掩码算子网数-程序员宅基地

=======IP地址格式:ip地址常采用点分十进制表示方法X.Y.Y.Y,在这里,X在1~126范围内称为A类地址;X在128~191范围内称为B类地址;X在192~223范围内称为C类地址。比如10.202.52.130,因为X为10,在1~126范围内,所以称为A类地址。=======子网掩码:A类为 255.0.0.0; B类为 255.255.0._通过子网掩码算子网数

【FreeRTOS】FreeRTOS 动态创建任务与删除_freertos动态任务创建_天地神仙的博客-程序员宅基地

动态创建任务需要使用到函数,我们可以在 FreeRTOS 官网中查看此函数详细的文档,点击此处跳转根据上方的描述我们可以得知,此函数将会创建一个新任务,并将其添加到就绪任务列表中。在中,必须设置为 1,或者不定义(在这种情况下,它将默认为1),以便此函数可以使用。每个任务都需要用于保存任务状态的 RAM,并被任务用作其堆栈。如果使用创建任务,则会==从 FreeRTOS 堆中自动分配所需的 RAM ==。如果使用。_freertos动态任务创建

html 字体思源_css设置文字思源雅黑,分为medium, regular, light-程序员宅基地

html引入思源黑体通过Link标签在网页头部引用Google Web Font:字体:Noto Sans SC大小:100, 300, 400, 500, 700, 900在需要使用思源黑体的地方设置CSS样式:font-family: "Noto Sans SC";font-weight: 100;TIP:Link标签的rel属性的全称是relationship,表示引用内容与当前HTML的关..._思源黑体可能写到样式里用吗

推荐文章

热门文章

相关标签