Spring中com.sun.proxy.$Proxy12 cannot be cast to 包名.类名错误
错误原因:
spring中的aop会使用jdk的动态代理或者cglib为目标对象创建代理。如果被代理的目标实现了至少一个接口,则会使用jdk动态代理;如果没有实现任何接口,则使用cglib代理。如果被代理目标类既没有实现接口,又没有引入cglib,就会报这个错误。
解决方法:
(1)为被代理的目标实现一个接口
(2)导入cglib的包,然后加上
1 <aop:aspectj-autoproxy proxy-target-class="true"/>
第一种解决方法代码如下:
1 //其中UserServiceImpl是接口实现类,UserService是接口 2 //当使用接口实现类获取时会出现异常 3 UserServiceImpl userService = (UserServiceImpl) 4 applicationContext.getBean("userService"); 5 6 //当使用接口获取时不会出现异常 7 UserService userService1 = (UserService) applicationContext.getBean("userService1"); 8
原因:不能用接口的实现类(UserServiceImpl01_AOP)来转换Proxy的实现类,它们是同级,应该用共同的接口来转换。
使用第二种解决方法 两种方式获取都不会报异常。
转载于:https://www.cnblogs.com/zou-zou/p/9382932.html
Spring中com.sun.proxy.$Proxy12 cannot be cast to 包名.类名错误相关推荐
- Spring中利用applicationContext.xml文件实例化对象和调用方法
Spring中实例化对象和调用方法入门 1.jar包和xml的准备 已上传至百度云盘,链接: https://pan.baidu.com/s/1CY0xQq3GLK06iX7tVLnp3Q 提取码: ...
- spring中AOP(面向切面编程)
spring中AOP(面向切面编程) 面向切面编程,通过预编译方式和运行期间动态代理实现程序功能的统一维护的一种技术.AOP是OOP的延续,是软件开发中的一个热点,也是spring框架中的一个重要内容 ...
- spring中的注解和xml配置文件中配置对应总结
spring中的注解和xml配置文件中配置对应 需要导入的jar spring-context spring-context-support spring-test commons-logging b ...
- java学习day40(Spring)spring中的aop和基于XML以及注解的AOP配置
第1章 AOP 的相关概念[理解] 1.1AOP 概述 1.1.1 什么是 AOP AOP :全称是 Aspect Oriented Programming 即:面向切面编程. 简单的说它就是把我们程 ...
- spring中IOP的配置
1 案例 需求: 完成转账业务, 事务的支持: 1.1开发数据库表:Account id name money. 开发实体类: Account public class Account { priva ...
- Spring中的动态代理,前置通知
AspectJ 定义了专门的表达式用于指定切入点.表达式的原型是: execution(modifiers-pattern? ret-type-pattern declaring-type-patt ...
- java包名中是否可以包含下划线?
提问:在开发的过程中经常遇这样一种情况,一个包名是由多个单词组成的,这是时候该不该用下划线分割呢? 例如,my package,com.example.mypackage or com.example ...
- eclipse 中修改包名方法
第一步: 选择项目,右键选择Android Tools --> Rename Application Package,输入修改后的包名并确定,出现如下界面: 点击Finish之后,项目工程中,所 ...
- spring中controller与jsp之间的那些事儿
本文是我在学习Java EE过程中记录学习的点点滴滴,仅仅为了学完之后巩固一下,日后忘记了也可以方便快速的复习. Spring MVC数据绑定和响应 前言 一.简单数据绑定 1.1.默认数据绑定 1. ...
- Spring 中JCA CCI分析--转载
转载地址:http://blog.csdn.net/a154832918/article/details/6790612 J2EE提供JCA(Java Connector Architecture)规 ...
最新文章
- echarts 图标高度自适应_echarts图表盒子大小变化后,图表无法自适应
- 【OpenCV入门学习笔记2】:Mat对象
- Android RemoteController使用
- 【转】C#运算符重载**
- 【飞控理论】从零开始学习Kalman Filters之四:卡尔曼滤波C语言代码实现
- vSphere5.1升级5.5(二)——升级Esxi主机及vmware tools
- Windows 10 S 已死,S 模式长存!
- 二叉树前序、中序、后序遍历(八)
- DOTFUN XML Silverlight中文留言簿Beta V1.0 即将上线!
- [高级操作系统课程] 各大名校 ppt,pdf 课件整理(course materials)
- element UI指定下拉框样式修改
- 2003服务器安全攻略
- linux c解决多个第三方so动态库包含不同版本openssl造成的符号冲突
- 推流拉流RMTP方案:Nginx+ffmpeg/obs+vlc/h5
- 基于STM32F103单片机的智能扫地机器人 循迹避障车 原理图PCB设计
- 对数 java_Java对数函数及Java对数运算
- 苏州 计算机 在职研究生,苏州地区,可以报考哪些在职研究生院校!
- 给飞机叶片穿戴上3D打印传感器
- html、css基础---学习笔记
- 专业壮大成翘楚,凤凰涅磐焕新春
热门文章
- PIL-读取与保存图片
- java ctrl d不能用_Intellij Idea中Backspace无法使用,Ctrl+c/Ctrl+d等等快捷键无法使用的问题的解决...
- ImportError: No module named ‘keras_contrib‘
- 网格法对随机森林调参
- python实现求解给定整数的质因数
- HTML和XHTML解析(HTMLParser、BeautifulSoup)
- python实现对解析之后的DOM进行层次化处理升序输出
- FreeSpan 和 PrefixSpan 算法学习
- 机器学习(三)——支持向量机SVM
- 区块链 Scilla是什么