java.lang.InstantiationException 问题记录

2021年12月10日08:50:06本来运行正常的页面, 今天打开突然就报错了 监控后台日志发现

问题:  java.lang.InstantiationException 

问题分析, 查看对应报错类的 git记录 发现

某位同事认为无参构造方法没有调用, 于是本着优化代码的本意就把无参的构造方法删除了, 于是就出现了上述的异常

在这里多说一嘴: 要对代码有敬畏心, 删代码要仔细,不要想当然

那为什么会报这个错误呢?

发现调用此类的地方用到了 类的拷贝

List<AppointmentConfigureVo> voList = BeanUtil.copyByList(byPage.getResult(), AppointmentConfigureVo.class);

跟踪源码发现

这里在创建对象时需要无参构造方法(正常无参构造会默认有, 如果写了有参构造, 那么无参构造就需要手动写了)

而类中的无参构造又被删除了,所以程序就报错了

 

现在是第二天的早上,记录一下这个问题,还好这个功能不是很重要,万一是主数据流程上的功能代码呢? 又会引起多大的影响  谨记谨记!

posted @ 2021-12-10 08:58  loveCrane  阅读(67)  评论(0编辑  收藏  举报