【笔记】记一次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出现。

相关推荐
dingdingfish几秒前
Bash学习 - 第3章:Basic Shell Features,第5节:Shell Expansions
开发语言·学习·bash
rainbow68892 分钟前
C++开源库dxflib解析DXF文件实战
开发语言·c++·开源
不倒翁玩偶2 分钟前
IDEA导入新的SpringBoot项目没有启动按钮
java·spring boot·intellij-idea
deepxuan3 分钟前
Day7--python
开发语言·python
firewood20248 分钟前
共射三极管放大电路相关情况分析
笔记·学习
小小小米粒17 分钟前
Maven Tools
java
禹凕17 分钟前
Python编程——进阶知识(多线程)
开发语言·爬虫·python
Hello_Embed24 分钟前
libmodbus STM32 主机实验(USB 串口版)
笔记·stm32·学习·嵌入式·freertos·modbus
蜡笔小马30 分钟前
10.Boost.Geometry R-tree 空间索引详解
开发语言·c++·算法·r-tree
IOsetting31 分钟前
金山云主机添加开机路由
运维·服务器·开发语言·网络·php