spring 使用 Dao 的 生成的代理 类别能转变成某种类型
来源:互联网 发布:飞机票图片制作软件 编辑:程序博客网 时间:2024/06/18 10:34
今天 在 做 spring 与 hibernate 集成时老是抱这个不能转换为指定类型的问题
Caused by: java.lang.IllegalStateException: Cannot convert value of type [$Proxy59 implementing com.com.mvc.dao.IBase,org.springframework.aop.SpringProxy,org.springframework.aop.framework.Advised] to required type [com.com.mvc.dao.IAccount] for property 'accountDao': no matching editors or conversion strategy found
折腾了一上午都没弄出来,后来仔细的分析了下 报的错 说是 $Proxy59 不能转变 成 IAccount 类型 $Proxy59 就是自己在 spring 的配置文件中配置 的 accountDao
<bean id="accountService" class="com.com.mvc.service.impl.AccountService"> <property name="accountDao"> <ref bean="accountDao"/></property></bean>
<bean id="accountDao" class="com.com.mvc.dao.impl.AccountDao"><constructor-arg><value>com.com.mvc.entity.Account</value></constructor-arg><constructor-arg><ref bean="hibernateTemplate" /></constructor-arg></bean>
spring 帮我们实例化 一个 对象 ,这个对 象是 用 jdk 的 动态代理机制 生成的代理对象
com.com.mvc.dao.impl.AccountDao -->$Proxy59
既然是类型 不能转换 那就是 子类与父类 或者 接口与实现有关
突然想到 AccountDao 是否 实现了IAccount 接口。
打开 AccountDao 一看 果然没有实现IAccount 接口
问题就出在这
AccountDao 如果 没有实现 IAccount 接口 ,怎么能把 AccountDao 实例 化的对象 赋值 到 IAccount 声明的变量 accountDao 上呢,当然 由Spring 根据
AccountDao 动态 生成 的对象 $Proxy59 也无法 赋值到 accountDao ( IAccount accountDao ).
解决方法 :在 AccountDao 后面加 上 implements IAccount
碰到问题 不要慌乱,要认真 分析 仔细查找 ,答案很快就会出来。细心、耐心、信心。
- spring 使用 Dao 的 生成的代理 类别能转变成某种类型
- 不要重复DAO!使用Hibernate 和Spring AOP 构建泛型类型安全的DAO
- 不要重复DAO!使用Hibernate 和Spring AOP 构建泛型类型安全的DAO
- 不要重复 DAO! 使用 Hibernate 和 Spring AOP 构建泛型类型安全的 DAO
- Mybatis使用Mapper代理的方式生成DAO接口的实现类对象
- 使用idea逆向代理自动生成mybaties的dao文件和配置xml
- 重新生成spring的DAO的时候生成不了?
- 转变成了一种新的类型。
- 使用Spring的JdbcTemplate编写的DAO
- 打开某种类型的文件--Intent
- 如何遍历某种类型的控件
- 使用 Hibernate 和 Spring AOP 构建泛型类型安全的 DAO
- 使用java反射优化Spring自动生成的DAO实现类!
- 使用Spring的JdbcTemplate实现DAO
- 使用Spring的SimpleJdbcTemplate完成DAO操作
- 使用Spring的NamedParameterJdbcTemplate完成DAO操作
- 使用Spring的NamedParameterJdbcTemplate完成DAO操作
- 使用Spring的SimpleJdbcTemplate完成DAO操作
- ABAP 字符串截取
- 编程珠玑 第十一章 第9题 从数组中找出第K小的数
- devexpress本地化(汉化)方法
- 什么是KMS
- Windows NT的版本
- spring 使用 Dao 的 生成的代理 类别能转变成某种类型
- 树状数组学习系列1 之 初步分析——czyuan原创
- sas用于金融计算的函数
- 组件和控件的区分
- VmWare6.5.2下安装RHEL 5.4(配置Oracle安装环境)
- Linking Routers
- C# 、HashTable
- Struts2+Hibernate+Spring 在mysql更新Blob类型的数据
- UML类图几种关系的总结