我是靠谱客的博主 痴情曲奇,这篇文章主要介绍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内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复