【笔记】记一次easyExcel中注解ExcelProperty映射字段赋值无效问题

背景

最近在开发一个导入excel文件解析数据并入库的功能,导入过程中出现一个BUG:后端映射实体字段pType没有被赋值,但是导入的excel源文件是有数据。

定位问题

经过debug源码发现最终创建对象并赋值使用的是net.sf.cglib.beans.BeanMap类中的create方法,BeanMap中创建实体对象并赋值使用类中字段的setter方法,其中pType字段使用的Setter方法为setpType,但是lombok.Data注解的类的字段pType的setter方法为setPType,所以导致最终没有被赋值。

解决方案

方式1:将pType字段改成projectType字段名,使用lombok.Data注解。

复制代码
  @ExcelProperty(value = "项目类型*")
    private String projectType;

方式2:手动添加pType的Setter和Getter方法。

复制代码
public String getpType() {
        return pType;
    }

    public void setpType(String pType) {
        this.pType = pType;
    }

最后

在使用@ExcelProperty注解标记字段的时候,该字段最好命名标准和规范,比如以上pType命名如果标准化为projectType可以避免此类BUG出现。

相关推荐
吃饱了得干活8 小时前
实时弹幕应该怎么搞?一篇带你从入门到生产级实战
java·后端
geats人山人海8 小时前
c# 第八章 多态与案例
开发语言·c#
eddietao8 小时前
MySQL+SQLServer数据库-笔记
数据库·笔记·mysql
tianyuanwo8 小时前
深入掌握 java -jar 命令:从基础到 Jenkins Agent 实战
java·jenkins·jar
ch_atu8 小时前
使用python下载modelscope上的模型
开发语言·python
Full Stack Developme8 小时前
MyBatis-Plus(MP)AST 抽象语法树 设计原理
java·tomcat·mybatis
Albart5759 小时前
Python爬虫请求头伪装后仍被反爬,基于代理池+随机延迟的绕过实战
开发语言·爬虫·python
Promise微笑9 小时前
回路电阻测试仪采购:多维度技术评估与深度避坑指南
开发语言·matlab·语音识别
宠友信息9 小时前
消息撤回与已读状态如何在即时通讯源码中统一管理
java·spring boot·websocket·mysql·uni-app
小小放舟、9 小时前
Windows 本地安装 Elasticsearch 8.10.0 与 IK 分词器(2026)
java·大数据·windows·spring boot·elasticsearch·搜索引擎·全文检索