spring 切面织入报错:java.lang.ClassCastException: com.sun.proxy.$Proxy7 cannot be cast to...
报这个错,只有一个原因,就是转化的类型不对.
接口过父类的子类,在强制转换的时候,一定要用接口父类来定义。
代码示例:
package com.luoluo.dao.impl; import java.sql.Connection;
import java.sql.SQLException; import javax.annotation.Resource;
import javax.sql.DataSource; import com.luoluo.dao.UserDAO;
import com.luoluo.model.User; public class UserDAOImpl implements UserDAO {
private DataSource dataSource; public DataSource getDataSource() {
return dataSource;
} @Resource
public void setDataSource(DataSource dataSource) {
this.dataSource = dataSource;
} public void save(User user) {
//Hibernate
//JDBC
//XML
//NetWork
try {
Connection conn = dataSource.getConnection();
conn.createStatement().executeUpdate("insert into user values (null,'zhang','123456')");
conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println("user saved!");
} @Override
public void delete(User user) {
System.out.println("user deleted!");
} }
package com.luoluo.myapp; import org.junit.Test;
import org.springframework.context.support.ClassPathXmlApplicationContext; import com.luoluo.dao.UserDAO;
import com.luoluo.dao.impl.LogInterceptor;
import com.luoluo.model.User; public class UserServiceTest {
@Test
public void testAspect(){
ClassPathXmlApplicationContext ctx = new ClassPathXmlApplicationContext(new String[] {"servlet-context.xml", "root-context.xml"});
UserDAO userDAOImpl=(UserDAO)ctx.getBean("userDAOImpl");//由于UserDAOImpl实现了UserDAO接口,所以强制转换必须用父类UserDAO来定义 LogInterceptor logInterceptor =(LogInterceptor) ctx.getBean("logInterceptor");
System.out.println(logInterceptor.getClass().getName());
userDAOImpl.save(new User());
userDAOImpl.delete(new User());
} }
spring 切面织入报错:java.lang.ClassCastException: com.sun.proxy.$Proxy7 cannot be cast to...的更多相关文章
- 开发Spring过程中几个常见异常(三):java.lang.ClassCastException: com.sun.proxy.$Proxy4 cannot be cast to com.edu.aop.ArithmeticCalculatorImpl at com.edu.aop.Main.main(Main.java:11)
这个异常是在开发Spring案例时遇到的. 贴一下完整异常信息: Exception in thread "main" java.lang.ClassCastException: ...
- Java-Spring:java.lang.ClassCastException: com.sun.proxy.$Proxy* cannot be cast to***问题解决方案
java.lang.ClassCastException: com.sun.proxy.$Proxy* cannot be cast to***问题解决方案 临床表现: 病例: 定义代理类: @Tra ...
- java.lang.ClassCastException: com.sun.proxy.$Proxy32 cannot be cast to com.bkc.bpmp.core.cache.MemcachedManager
java.lang.ClassCastException: com.sun.proxy.$Proxy32 cannot be cast to com.bkc.bpmp.core.cache.Memca ...
- java.lang.ClassCastException: com.sun.proxy.$Proxy27 cannot be cast to com.bbk.n002.service.QuestionService
1 严重: Servlet /N002-1.0 threw load() exception 2 java.lang.ClassCastException: com.sun.proxy.$Proxy2 ...
- 关于利用动态代理手写数据库连接池的异常 java.lang.ClassCastException: com.sun.proxy.$Proxy0 cannot be cast to java.sql.Connection
代码如下: final Connection conn=pool.remove(0); //利用动态代理改造close方法 Connection proxy= (Connection) Proxy.n ...
- java.lang.ClassCastException: com.sun.proxy.$Proxy2 cannot be cast to...异常
异常: Exception in thread "main" java.lang.ClassCastException: com.sun.proxy.$Proxy2 cannot ...
- java.lang.ClassCastException: com.sun.proxy.$Proxy53 cannot be cast to cn.service.impl.WorkinggServiceImpl
java.lang.ClassCastException: com.sun.proxy.$Proxy53 cannot be cast to cn.service.impl.WorkinggServi ...
- java.lang.ClassCastException: com.sun.proxy.$Proxy6 cannot be cast to com.etc.service.serviceImpl.BankServiceImpl
错误原因: java.lang.ClassCastException: com.sun.proxy.$Proxy6 cannot be cast to com.etc.service.serviceI ...
- EJB学习(三)——java.lang.ClassCastException: com.sun.proxy.$Proxy2 cannot be cast to..
在上一篇博客介绍了怎样使用使用Eclipse+JBOSS创建第一个EJB项目,在这期间就遇到一个错误: Exception in thread "main" java.lang.C ...
随机推荐
- Java进阶专题(十八) 系统缓存架构设计 (下)
前言 上章节介绍了Redis相关知识,了解了Redis的高可用,高性能的原因.很多人认为提到缓存,就局限于Redis,其实缓存的应用不仅仅在于Redis的使用,比如还有Nginx缓存,缓存队列等等.这 ...
- Markdown实用教程
Markdown 是用来编写结构化文档的一种纯文本格式,它使我们在双手不离开键盘的情况下,可以对文本进行一定程度的格式排版.markdown语法是通用的,很多写作平台都是支持markdown的,比如简 ...
- Qt模型视图结构遇见的小问题
在本文的最开始,我们来看两个帮助文档内容: selectionMode : SelectionMode This property holds which selection mode the vie ...
- requests的再次学习
title: requests模块的再次理解 date: 2020-03-10 22:44:26 tags: 1.response的解析 当requests模块发送请求后,我们会对其响应的数据也就是r ...
- bugkuctf web区 sql2
来了!终于做出来(虽然是在大佬帮助下,提前感谢大佬) 在看wp之后发现这是一道典型的.DS_Store源码泄露,其他类型的web源码泄露:https://www.secpulse.com/archiv ...
- numpy 中的堆叠 stack
参考: https://blog.csdn.net/Riverhope/article/details/78922006 vstack,vertical 垂直堆叠 hstack, horizontal ...
- mybatis批量修改数据
xxxMapper.xml: <update id="updateSensorWarnings" parameterType="java.util.List&quo ...
- 半夜删你代码队 Day6冲刺
一.每日站立式会议 1.站立式会议 成员 昨日完成工作 今日计划工作 遇到的困难 陈惠霖 完成注册界面 好友界面 无 侯晓龙 了解数据库使用 帮助他人建立数据库 无 周楚池 完成登录界面+管理员界面初 ...
- springboot 导出xlsx文件
@Override public String downModelXlsFile(SxSourceReq param, HttpServletResponse response) { //设置响应编码 ...
- TMOOC-1692-分西瓜
题目 描述 今天是阴历七月初五,首师大附中信息社团队员GDC的生日.GDC正在和SCX.WXY在首师大附中集训.他想给这两位兄弟买点什么庆祝生日,经过调查,GDC发现SCX和WXY都很喜欢吃西瓜,而且 ...