java.lang.InstantiationException
2015-05-29 23:49
260 查看
could not initializationDammanage:com.ibatis.dao.client.DaoException: Error whileconfiguring DaoManager.
Cause: com.ibatis.dao.client.DaoException: Error configuringDAO.
Cause: java.lang.InstantiationException:com.finance.ProductDaoImpl
Caused by: java.lang.InstantiationException:com.finance.ProductDaoImpl
Caused by: com.ibatis.dao.client.DaoException: Error configuringDAO.
Cause: java.lang.InstantiationException:com.finance.ProductDaoImpl
Caused by: java.lang.InstantiationException:com.finance.ProductDaoImpl
java.lang.InstantiationException从字面意思上来看是说不能实例化ProductDaoImpl类,出现这种异常的原因通常情况下是由于要实例化的对象是一个接口或者是抽象类等无法被实例化的类。但是在这次的错误中却是个例外,这个错误是由持久类Product引发的,ProductDaoImpl类是我用来查询结果的操作方法集合,它继承了HibernateTemplateDao类,实现了ProductDao接口,这个问题困扰了本人很久,经过网络上的查询得到启发:发现产生这个错误的原因是持久类Product中没有不带参数的构造方法,因为iBATIS在对象建立中,会使用不带参数的构造函数来建立对象,而现在我的Product类中只有一个带参数的构造方法以及一系列的getter/setter方法。只需要在Product类中加入一个不带参数的构造方法,该方法不必执行任何操作,就像默认的构造方法一样。在Hibernate中就有明确的要求:每一个持久化类都必须带一个不带参数的构造方法。
这里说明一点,如果你在类中声明了带参数的构造函数,会自动覆盖无参数的构造函数,这样系统就无法调用无参数的构造函数实例化类,所以会出现这种错误。
这个问题在使用类反射实例化某个对象时,如果这个对象不包含无参数的构造函数,也会出现这个错误,解决办法是在这个要通过类反射实例化的这个类中添加一个空的无参数构造函数就可以了.
================================================
在开发中遇到的一个问题,在网上搜索到的答案,地址:http://blog.sina.com.cn/s/blog_60dadc490100el9o.htm
希望能与更多的java程序员共同学习
联系扣扣:2531977855l
Cause: com.ibatis.dao.client.DaoException: Error configuringDAO.
Cause: java.lang.InstantiationException:com.finance.ProductDaoImpl
Caused by: java.lang.InstantiationException:com.finance.ProductDaoImpl
Caused by: com.ibatis.dao.client.DaoException: Error configuringDAO.
Cause: java.lang.InstantiationException:com.finance.ProductDaoImpl
Caused by: java.lang.InstantiationException:com.finance.ProductDaoImpl
java.lang.InstantiationException从字面意思上来看是说不能实例化ProductDaoImpl类,出现这种异常的原因通常情况下是由于要实例化的对象是一个接口或者是抽象类等无法被实例化的类。但是在这次的错误中却是个例外,这个错误是由持久类Product引发的,ProductDaoImpl类是我用来查询结果的操作方法集合,它继承了HibernateTemplateDao类,实现了ProductDao接口,这个问题困扰了本人很久,经过网络上的查询得到启发:发现产生这个错误的原因是持久类Product中没有不带参数的构造方法,因为iBATIS在对象建立中,会使用不带参数的构造函数来建立对象,而现在我的Product类中只有一个带参数的构造方法以及一系列的getter/setter方法。只需要在Product类中加入一个不带参数的构造方法,该方法不必执行任何操作,就像默认的构造方法一样。在Hibernate中就有明确的要求:每一个持久化类都必须带一个不带参数的构造方法。
这里说明一点,如果你在类中声明了带参数的构造函数,会自动覆盖无参数的构造函数,这样系统就无法调用无参数的构造函数实例化类,所以会出现这种错误。
这个问题在使用类反射实例化某个对象时,如果这个对象不包含无参数的构造函数,也会出现这个错误,解决办法是在这个要通过类反射实例化的这个类中添加一个空的无参数构造函数就可以了.
================================================
在开发中遇到的一个问题,在网上搜索到的答案,地址:http://blog.sina.com.cn/s/blog_60dadc490100el9o.htm
希望能与更多的java程序员共同学习
联系扣扣:2531977855l
相关文章推荐
- Struts2 笔记总结
- java编辑器
- java连接SQL数据库
- java之单元测试
- JAVA 想让类无法new,可以使用private将类的构造函数改为私有的,这样new的时候就会报错了
- 关于Spring MVC非常详细的介绍(一位大神写的,强烈推荐)
- Java实现Web服务器
- 跟我学Java反射——一步曲
- java 制作类似DOS功能
- JAVA 主函数(主方法)
- spring4.0源码下载
- 疯狂Java学习笔记(60)----------8张图理解Java
- Java NIO原理图文分析及代码实现
- 疯狂Java学习笔记(57)------------NIO:浅析I/O模型
- 疯狂Java学习笔记(58)-----------NIO概述
- 将github上的工程导入到Myeclipse中
- 疯狂Java学习笔记(56)------------对象序列化
- Spring Template(三) ——ORM 设计与实现
- Java synchronized 关于锁的对象顺序问题
- Java Swing 中插入图片背景