排查使用EasyPoi的示例分析


本篇文章给大家分享的是有关排查使用EasyPoi的示例分析,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。排查使用EasyPoi:下面贴一下该工具类中exportExcel方法的相关描述下面在贴一下ScoreCollinearityParentClassDTO的相关代码另外我同事说,他在构造DTO的时候其实是用的ScoreCollinearityParentClassDTO的一个子类ScoreCollinearityExcelDTO,所以我把ScoreCollinearityExcelDTO也贴一下。具体封装DTO就不贴了。下面是有关ScoreCollinearityExcelDTO的相关代码这里再记录一点,同事事先排查问题的时候,发现导出只有父类的一列值,所以他本地修改了代码,用返回子类集合,然后报空指针异常。所以为了与他本地代码保持一致,我现在我本地修改一下代码。具体修改后的代码我就不贴出来了。就是修改封装DTO的Service返回子类集合,然后用子类集合进行接受。上面进行了问题的相关描述。由于代码不多,我先通过肉眼检查一下代码什么地方不对。最后发现ScoreCollinearityExcelDTO中的一个属性定义很不符合规范

首字母写成了大写。也许是同事在什么地方拷贝过来的,忘记修改了。我先将这个地方改成小写。然后自测一下,发现问题得到了解决。哈哈。感觉好顺利哦。于是我让同事把这个地方改了,提交代码,先把问题解决,不要卡在这儿。问题是解决了。但是为什么呢?我们不能胡乱一懵,将问题解决,就不管了啊。就算当时上班比较忙,也要备注下。事后也要对问题进行分析,找出问题根本问题所在。知道为什么。所以开始我我查看easypoi源码的历程。我现在我本地将代码还原。然后调试将异常信息打印出来。发现也不是空指针问题啊,尴尬了。
而且报错也很也很详细,将字段名都描述出来了。难不成我这边跟他那边不一样。

很明显,这个获取method没有获取到,为null了。我们这这里打一个断点,进行调试。发现的确为null
查看getMethods
返回的是一个map,key为moduleNameIndexName,但传入的是ModuleNameIndexName,当然找不到咯。那么下面我们来看看,这个getMethods是怎么封装的。下面是我一直往上找的相关源码,重点我都标记出来了。

easypoi底层是通过过去所有的get方法进行封装到Map集合的,key为去掉方法名,去掉get后将首字母小写作为key。所以 getModuleNameIndexName —-> moduleName 香港云主机IndexName
而获取的时候是通过属性名获取的,这里不管是moduleNameIndexName或ModuleNameIndexName,生成后的get方法相同。所以导致了不对应的问题。以上就是排查使用EasyPoi的示例分析,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注开发云行业资讯频道。

相关推荐: 电脑上无法找到脚本文件怎么解决

本篇内容介绍了“电脑上无法找到脚本文件怎么解 香港云主机决”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!方法/步骤:1.调出运行窗,输入msconfig命令后回…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 08/07 22:15
下一篇 08/07 22:15

相关推荐