我是靠谱客的博主 痴情曲奇,这篇文章主要介绍Cglib动态代理实现Superclass has no null constructors but no arguments were given错误处理,现在分享给大家,希望可以做个参考。

因为Spring通过Cglib生成代理类对象时,并没有将目标对象的构造函数的参数及其类型进行设定,导致了Cglib在生成代理类对象时,会使用默认的构造函数生成,结果目标对象类没有默认构造函数,Cglib生成子类时,也没有加入默认构造函数,所以,异常的发生成为必然。 

解决方法:

1.目标对象,定义一个无参数构造函数,通过生产setter或者getter方法注入.

package cn.mesie.proxy;
public class CglibUserDao {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public void demand(String demandName) {
System.out.println(name + " implemented demand:" + demandName);
}
}

最后

以上就是痴情曲奇最近收集整理的关于Cglib动态代理实现Superclass has no null constructors but no arguments were given错误处理的全部内容,更多相关Cglib动态代理实现Superclass内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(135)

评论列表共有 0 条评论

立即
投稿
返回
顶部