我怀疑如果
ProdMiscDAO是接口(是吗?),您将不会遇到此错误。我相信您可能有一个正在使用cglib代理,执行魔术等操作的类,最后,它不能安全地转换为setter或构造函数中的参数。尝试对接口进行编程,看看错误是否消失。
更新 :
ProdMiscDAO不是接口。这是一个扩展的类
SqlMappedClientDaoSupport。
鉴于此,我建议您尝试以下操作:
- 重命名
ProdMiscDAO
为SqlMappedProdMiscDAO
。 - 从已
SqlMappedProdMiscDAO
命名的接口中提取一个接口ProdMiscDAO
(例如“class SqlMappedProdMiscDAO implements ProdMiscDAO
”) - 浏览所有使用的代码,
SqlMappedProdMiscDAO
然后将其更改为useProdMiscDAO
。 - 将spring配置为实例化a
SqlMappedProdMiscDAO
,将其连接到需要它的所有类。
这使您的DAO实现仍可扩展,
SqlMappedClientDaoSupport但也具有接口。在切换了所有类以使用接口而不是类之后,Spring将不必使用cglib代理您的DAO,并且错误应消失。



