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

相关推荐
玉笥寻珍11 分钟前
筑牢信息安全防线:涉密计算机与互联网隔离的理论实践与风险防控
开发语言·计算机网络·安全·计算机外设·php·安全架构·安全性测试
蓝莓味柯基15 分钟前
Lodash isEqual 方法源码实现分析
开发语言
lwewan17 分钟前
26考研408目录汇总~
笔记·考研
秋野酱18 分钟前
Spring Boot 项目的计算机专业论文参考文献
java·spring boot·后端
秋野酱25 分钟前
python项目参考文献
开发语言·python
ljt272496066125 分钟前
Compose笔记(二十三)--多点触控
笔记·android jetpack
士别三日&&当刮目相看26 分钟前
数据结构*优先级队列(堆)
java·数据结构
香饽饽~、30 分钟前
【第二篇】 初步解析Spring Boot
java·spring boot·后端
坎布里奇41 分钟前
java -jar命令运行 jar包时如何运行外部依赖jar包
java·pycharm·jar