很多新手用ssm框架开发项目都会遇到这个问题,写完实体类然后写dao之后,用junit单元测试来测试从数据库查询数据的时候发现报反射异常,原因是没有该初始化方法,而插入记录却是可以运行的。下边是我的实体类的代码

Error instantiating class xxx with... Cause: java.lang.NoSuchMethodException xxx.<init>()

异常信息:

Error instantiating class xxx with... Cause: java.lang.NoSuchMethodException xxx.<init>()

为什么会这样呢,因为当dao从数据库拿到文件后,就会默认用对应的实体类的默认无参构造方法创建对象再set进去,但是由于在实体类已经自定义了有参构造方法,无参构造方法被覆盖,因此就会报找不到方法的异常。具体有两种解决方法:

1.将有参构造方法去掉,完美运行;

Error instantiating class xxx with... Cause: java.lang.NoSuchMethodException xxx.<init>()

2.不去掉有参构造方法的基础上,添加无参构造方法,完美运行。

Error instantiating class xxx with... Cause: java.lang.NoSuchMethodException xxx.<init>()

希望能够共同进步,如有不正确的地方,望指正。

相关文章:

  • 2021-07-03
  • 2022-01-16
  • 2022-12-23
  • 2021-09-17
  • 2022-01-24
  • 2021-12-02
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-04-15
  • 2021-10-23
  • 2022-02-16
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案