第一次使用easyExcel报错信息记录 NullPointerException + MultipartException

news2025/2/23 12:51:33

第一次使用easyExcel报错信息记录

文章目录

  • 第一次使用easyExcel报错信息记录
    • NullPointerException
    • MultipartException

NullPointerException

使用easyExcel报的错误

显示我的easyExcel监听器中出现了空指针异常

//报错信息
Creating a new SqlSession

Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@1af74b28]
2023-07-25 19:44:51.354 ERROR 5764 --- [nio-8023-exec-7] o.a.c.c.C.[.[.[.[dispatcherServlet]   
: Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception
[Request processing failed; nested exception is java.lang.NullPointerException] with root cause

java.lang.NullPointerException: null
	at com.airweb.listen.BuildingListener.saveData(BuildingListener.java:58) ~[classes/:na]
	at com.airweb.listen.BuildingListener.doAfterAllAnalysed(BuildingListener.java:52) ~[classes/:na]

在这里插入图片描述

在这里插入图片描述

这里查看我的代码,发现我是有注入mapper的,但是由于某种原因他注入失败了,所以为空

然后我就上网查,后来发现监听器中的@Resource和@AutoWired都是会失效的,因为他不归Spring管,所以这里这我的@Resource是无效的

解决这个问题的方法也很简单–>通过别的方法来获取Bean

这里我没有改掉我监听器中的任何的代码

而是:

  • 先在监听器中加上@Component注解,把他变成普通的组件交给Spring

在这里插入图片描述

  • 回到使用了监听器的地方,不再使用新建对象的方法,而是使用@Resource将监听器注入

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JrpkSg8z-1690332228609)(photos/image-20230725200609944.png)]
在这里插入图片描述

  • 最后记得在启动类上,将监听器所在的包路径加入扫描

在这里插入图片描述

重新启动以后,问题解决!

在这里插入图片描述

当然这个问题还有其他的解决方法,比如再写一个类提供其他注入Bean的方法等等。
感兴趣的可以上网搜搜关于这方面详解的文章。

MultipartException

最近做项目,后端需要接收前端上传的excel文件,处理文件中的数据并保存到数据库

测试的时候发现出错了,找了很久都找不到

//后端报错信息
2023-07-25 19:06:38.428 ERROR 4576 --- [nio-8023-exec-6] o.a.c.c.C.[.[.[.[dispatcherServlet]     
: Servlet.service() for servlet [dispatcherServlet] in context with path [/api] threw exception
 [Request processing failed;
 nested exception is org.springframework.web.multipart.MultipartException: 
 Current request is not a multipart request] with root cause

org.springframework.web.multipart.MultipartException: Current request is not a multipart request
                                                                        
                                                                        
                                                                        

在这里插入图片描述

//控制层代码
@ResponseBody
@PostMapping("/add-build")
public Result addBuildings(@RequestParam(value = "file") MultipartFile multipartFile, 
                           HttpServletRequest request){
    return generalAdminService.addBuildings(multipartFile,request);
}

因为感觉自己的代码什么的应该是没有错误的,所以我就又重新去看了easyExcel的官方文档中的示例代码

在这里插入图片描述

发现他的实体类是有@ExcelProperty这个注解的,括号里面的字符串表示列名,加上之后就好了

在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/790239.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Ajax】笔记-同源策略

同源策略(Same-Origin Policy),是浏览器的一种安全策略 同源(即url相同):协议、域名、端口号 必须完全相同。(请求是来自同一个服务) 跨域:违背了同源策略,即跨域。 ajax请求是遵循…

手把手教-gd32f450基于rt-thread发布的bsp包手动添加以太网外设

一、开发环境 rt-thread发布版本4.1.0; bsp包选用的是gd32目录下的gd32450z-eval rt-thread-v4.1.0\bsp\gd32\gd32450z-eval\ 开发板gd32f450z系列开发板。 二、手动添加以太网ETH外设 先看下初始结构 可以看到,配置中什么也没有。 手动添加步骤如下&…

27.提示卡片

提示卡片 html部分 <div class"msg-list"></div><button class"btn">点我看提示</button>css部分 *{margin: 0;padding: 0; }body{background-color: rebeccapurple;height: 100vh;overflow: hidden;display: flex;justify-con…

机器学习入门之 特征工程

数据集 数据集划分 ,训练集与 测试集合 from sklearn.datasets import load_iris from sklearn.model_selection import train_test_split from sklearn.feature_extraction import DictVectorizer from sklearn.feature_extraction.text import CountVectorizer, TfidfVecto…

【FPGA/D6】

2023年7月25日 VGA控制器 视频23notecodetb 条件编译error时序图保存与读取&#xff1f;&#xff1f;RGBTFT显示屏 视频24PPI未分配的引脚或电平的解决方法 VGA控制器 视频23 note MCU单片机 VGA显示实时采集图像 行消隐/行同步/场同步/场消隐 CRT&#xff1a;阴极射线管 640…

8.9 PowerBI系列之DAX函数专题- TopN和BottomN和otherN的实现

需求 实现 1 summary table summarize(order_2,order_2[产品子类别],"订单金额",sum(order[订单金额])) 2 bottom5 table topn(5,summary table,summary table[订单金额],desc) // var v_sum_table summarize(order_2,order_2[产品子类别],"订单金额",…

【Linux】常见的基本指令详解

Linux常见的基本指令 一、什么是 Linux二、Linux 中常见的指令1. ls 指令2. pwd 命令3. cd 指令4. touch 指令5. mkdir 指令6. rmdir 指令 && rm 指令7. man 指令8. cp 指令9. mv 指令10. cat 指令11. more 指令12. less 指令13. wc 指令和 uniq 指令14. head 指令15. …

AIGC书籍推荐:《生成式深度学习的数学原理》

生成式 AI 使用各种机器学习算法&#xff0c;从数据中学习要素&#xff0c;使机器能够创建全新的数字视频、图像、文本、音频或代码等内容。生成式 AI 技术在近两年取得了重大突破&#xff0c;产生了全球性的影响。它的发展离不开近年来生成式深度学习大模型的突破。与一般意义…

【学习心得】sublime text 4 自定义编译系统

一、问题描述 在电脑中有多个版本的Python解释器&#xff0c;而sublime默认选择最新版本的解释器&#xff0c;如何指定自己想要的解释器呢&#xff1f; 二、自定义编译系统 1、选择新建编译系统&#xff08;如图&#xff09; 2、重写两个键值对&#xff08;只修改中文部分其…

线性代数(主题篇):第三章:向量组 、第四章:方程组

文章目录 第3章 n维向量1.概念(1)n维单位列向量 2.向量、向量组的的线性关系(线性相关性)(1)线性表示 &#xff1a;AXβ(2)线性相关、线性无关&#xff1a; AX0①线性相关②线性无关③线性相关性7大定理 3.极大线性无关组、等价向量组、向量组的秩1.极大线性无关组2.等价向量组…

人工智能术语翻译(三)

文章目录 摘要IJKL 摘要 人工智能术语翻译第二部分&#xff0c;包括I、J、K、L开头的词汇&#xff01; I 英文术语中文翻译常用缩写备注I.I.D. Assumption独立同分布假设Identically Distributed同分布的Identifiable可辨认的Identity Function恒等函数Identity Mapping恒等…

基于Citespace、vosviewer、R语言的文献计量学可视化分析及SCI论文高效写作方法教程

详情点击链接&#xff1a;基于Citespace、vosviewer、R语言的文献计量学可视化分析技术及全流程文献可视化SCI论文高效写作方法 前言 文献计量学是指用数学和统计学的方法&#xff0c;定量地分析一切知识载体的交叉科学。它是集数学、统计学、文献学为一体&#xff0c;注重量…

小程序插件接入指引

微信对话开放平台小程序插件 微信对话开放平台是以对话交互为核心, 为有客服需求的个人、企业和组织提供智能服务与用户管理的配置平台。开发者可利用我们提供的工具自主完成对话机器人的搭建。 微信对话开放平台小程序插件&#xff0c;提供两种调用方式&#xff0c;一种是有U…

jdk1.7官网免登录下载

官网地址&#xff1a; Java Archive Downloads - Java SE 7 (oracle.com) 点进去之后&#xff0c;就可以看见如下的的界面 打开迅雷&#xff0c;在下载中点击新建 补充&#xff1a; jdk各个版本的地址&#xff1a; Java Archive | Oracle

春秋云境:CVE-2022-23316(taoCMS v3.0.2 存在任意文件读取漏洞)

一、题目 靶标介绍&#xff1a; taoCMS v3.0.2 存在任意文件读取漏洞 二、进入题目 和这题有异曲同工之妙&#xff1a; 春秋云境&#xff1a;CVE-2022-23880&#xff08;taoCMS v3.0.2 任意文件上传漏洞&#xff09;_小孔吃不胖的博客-CSDN博客 访问/admin admin&#xf…

汽车充电桩按照安装的地点可以分哪几类

汽车充电桩按照安装地点分哪几类 你是否曾经想过&#xff0c;在城市的大街小巷中&#xff0c;那一排排沉默的绿色盒子&#xff0c;究竟是什么?它们叫做汽车充电桩&#xff0c;是我们未来出行的重要一环。那么&#xff0c;你知道这些充电桩按照安装地点分哪几类吗? 汽车充电桩…

vue3:vue3.2升级至vue3.3/vue升级版本

一、目标 Vue 3.2项目到Vue 3.3 二、操作 2.1、更新Vue的版本 pnpm add vuelatest2.2、更新Vue CLI的版本 如果你正在使用Vue CLI来创建和管理你的Vue项目&#xff0c;更新Vue CLI pnpm add -g vue/clilatest2.3、检查你的Vue项目的依赖项 你需要确保项目中的所有依赖项…

【面试】MySQL 中InnoDB与MyISAM的区别是什么?

文章目录 前言一、数据库存储引擎二、如何知道自己的数据库用的什么引擎呢&#xff1f;三、存储引擎原理四、B 树和 B 树五、MyISAM六、InnoDB七、InnoDB与MyISAM的区别总结 前言 许多同学都把 MySQL 作为自己的数据库&#xff0c;但是可能用过最多的就是 SQL 语句&#xff0c…

降压电路原理 12V电源是如何下降到5V?

引言&#xff1a; 12V-5V开关电源设计原理&#xff1a;以12V电压作为输入&#xff0c;通过控制开关电路的通断时间&#xff0c;实现电感的充放电时间&#xff0c;改变输出电压的平均值&#xff0c;然后进行LC滤波&#xff0c;对输出电压进行电压和电流反馈控制&#xff0c;使其…

open3d和pcl点云转换及多线程加速

目录 写在前面准备转换源码编译运行结果 参考完 写在前面 1、本文内容 open3d和pcl点云互转&#xff0c;并使用多线程加速 2、平台/环境 通过cmake构建项目&#xff0c;跨平台通用&#xff1b;open3d&#xff0c;pcl 3、转载请注明出处&#xff1a; https://blog.csdn.net/qq…