`
hellsing42
  • 浏览: 263616 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

关于InstantiationException错误的原因

阅读更多
引用

could not initialization Dammanage:com.ibatis.dao.client.DaoException: Error while configuring DaoManager.   Cause: com.ibatis.dao.client.DaoException: Error configuring DAO.   Cause: java.lang.InstantiationException: com.finance.ProductDaoImpl
Caused by: java.lang.InstantiationException: com.finance.ProductDaoImpl
Caused by: com.ibatis.dao.client.DaoException: Error configuring DAO.   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://tag.csdn.net/Article/359f4492-1f8e-447a-bc49-5b539c797ece.html


这个问题在使用类反射实例化某个对象时,如果这个对象不包含无参数的构造函数,也会出现这个错误,解决办法是在这个要通过类反射实例化的这个类中添加一个空的无参数构造函数就可以了.
分享到:
评论
1 楼 gdq108409778 2008-12-22  
very good!

相关推荐

    JAVA项目常用异常处理汇总

    这种异常的原因是强制类型转换时容易发生的错误,解决方法是在进行转换前先对类型进行判别,规避错误。 9.文件未找到异常(java.lang.FileNotFoundException) 这种异常的原因是程序试图打开一个不存在的文件进行...

    exceptions-j2me.zip_java programming

    4. **InstantiationException**:当你尝试实例化一个抽象类或接口时,或者由于其他原因无法创建类的实例,如缺少无参构造函数,Java会抛出此异常。 5. **NumberFormatException**:当尝试将字符串转换为数字类型,...

    用Java类来测试Oracle最大连接数的程序

    本文将深入探讨一个用Java编写的简单程序,该程序旨在通过JDBC连接来测试Oracle数据库的最大连接数,并分析在连接数达到一定阈值时出现的错误原因及解决方案。 #### 二、程序结构与功能 ##### 1. 类定义 程序的...

    关于Substance风格包无法正确使用的问题

    4. **异常处理**:在设置LookAndFeel时,一定要捕获并处理可能出现的异常,如`ClassNotFoundException`、`InstantiationException`等。 接下来,我们关注"其他Swing风格包.rar"中的资源。这个压缩包可能包含了其他...

    java reflect

    需要注意的是,在JDK 1.7及以后版本中,由于安全原因,`newInstance()`方法可能会抛出`InstantiationException`异常,因此推荐使用`getDeclaredConstructor`方法结合`setAccessible(true)`来解决这个问题。...

    eclipse安卓开发必备工具

    } } } 也是如我所想 抛出java.lang.IllegalAccessException异常,当时就怀疑Spring框架是否使用反射的一些特性,后来查了相关文档才知 道原因何在: 实际上java在反射创建一个类的实例时,默认会检测是否符合相关...

    JAVA单例模式的几种实现方法

    - **双重检查锁定**:为了解决性能问题,通常采用双重检查锁定来优化,但这在Java语言中可能会出现问题,因为Java的内存模型和类加载机制的原因。 #### 三、登记式单例类 登记式单例类通过维护一个映射表(如...

    java 设计模式-个人总结

    public static Fruit getFruit(String type) throws InstantiationException, IllegalAccessException, ClassNotFoundException { Class<?> fruit = Class.forName(type); return (Fruit) fruit.newInstance(); ...

Global site tag (gtag.js) - Google Analytics