Java中mapstruct mapper转换器部分字段转换无效的解决方案

 更新时间:2025年10月27日 11:03:09   作者:No8g攻城狮  
在SpringBoot2.1.5项目中,使用MapStruct1.3.0.Final进行实体类字段映射时遇到问题,下面就来具体介绍一下,感兴趣的可以了解一下

一、背景描述

springboot 2.1.5 + mapstruct 1.3.0.Final + maven管理工具

接手一个项目,根据需求需要对其接口进行修改,对于两个实体类字段赋值,项目中使用 mapstruct 框架自动映射对应字段。对于其中一个实体类中,新增加了两个字段,重启项目使用 swagger 调用测试,发现新增加的字段映射失败,没有把新增的两个字段的值赋值过去,而其他字段则可以正常赋值。

二、问题原因

对于这个现象,有两个原因,以下详细说明一下:

原因一:映射的字段不一致

首先怀疑两个字段需要映射的字段写的不一致,检查完之后发现需要映射的两个字段与被映射的字段一模一样,最终排除掉此原因。

原因2:编译问题

使用 mapstruct 框架,对于需要映射的实体类,会先自动编译好之后存入 target 目录,而 idea 开发工具的重启并没有清空 target 目录下已经编译好的文件,所以导致新增加的两个字段即使重启项目也没有自动映射。

重启后的项目 target 目录下,还是之前编译好的文件,因此新增加的两个字段没有自动映射。

三、解决方案

使用 maven 自带插件,对项目 clean 一下,然后再重新启动,即可解决此问题。

到此这篇关于Java中mapstruct mapper转换器部分字段转换无效的解决方案的文章就介绍到这了,更多相关Java mapstruct mapper转换无效内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Spring Boot获取resources目录下的文件三种方式详解

    Spring Boot获取resources目录下的文件三种方式详解

    在Spring Boot项目中,经常需要获取resources目录下的文件,这些文件可以包括配置文件、模板文件、静态资源等,这篇文章主要介绍了Spring Boot获取resources目录下的文件的三种方式,需要的朋友可以参考下
    2023-06-06
  • freemarker jsp java内存方式实现分页示例

    freemarker jsp java内存方式实现分页示例

    这篇文章主要介绍了freemarker jsp java内存方式实现分页示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-06-06
  • Java超详细分析讲解final关键字的用法

    Java超详细分析讲解final关键字的用法

    关于final关键字,它也是我们一个经常用的关键字,可以修饰在类上、或者修饰在变量、方法上,以此看来定义它的一些不可变性!像我们经常使用的String类中,它便是final来修饰的类,并且它的字符数组也是被final所修饰的。但是一些final的一些细节你真的了解过吗
    2022-06-06
  • @Qualifier使用及详细源码展示

    @Qualifier使用及详细源码展示

    @Qualifier是Spring解决依赖注入歧义的注解,通过限定符名称指定具体Bean,与@Primary不同,可覆盖主Bean,适用于多实现类和自定义限定符场景,需注意大小写敏感及字段注入的耦合问题,配合@Autowired提升灵活性
    2025-09-09
  • Java线程代码的实现方法

    Java线程代码的实现方法

    下面小编就为大家带来一篇Java线程代码的实现方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-08-08
  • SpringBoot @Value注解支持配置自动刷新能力扩展方式

    SpringBoot @Value注解支持配置自动刷新能力扩展方式

    本文介绍了如何通过自定义注解和BeanPostProcessor实现SpringBoot中@Value注解的配置自动刷新能力,主要步骤包括:定义一个支持动态刷新的注解,实现配置的动态变更,以及通过BeanPostProcessor扫描并刷新使用@Value注解的变量
    2024-12-12
  • Java8中 LocalDate和java.sql.Date的相互转换操作

    Java8中 LocalDate和java.sql.Date的相互转换操作

    这篇文章主要介绍了Java8中 LocalDate和java.sql.Date的相互转换操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-12-12
  • 通过Java实现添加或删除PDF中的附件

    通过Java实现添加或删除PDF中的附件

    当我们在制作PDF文件或者PPT演示文稿的时候,为了让自己的文件更全面详细,就会在文件中添加附件。本文为大家整理了Java实现添加或删除PDF中的附件的方法,需要的可以参考下
    2023-01-01
  • java POI解析Excel 之数据转换公用方法(推荐)

    java POI解析Excel 之数据转换公用方法(推荐)

    下面小编就为大家带来一篇java POI解析Excel 之数据转换公用方法(推荐)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-08-08
  • springboot集成mqtt的实践开发

    springboot集成mqtt的实践开发

    本篇文章主要介绍了springboot集成mqtt的实践开发,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-08-08

最新评论