Java中mapstruct mapper轉換器部分字段轉換無效的解決方案
一、背景描述
springboot 2.1.5 + mapstruct 1.3.0.Final + maven管理工具
接手一個項目,根據(jù)需求需要對其接口進行修改,對于兩個實體類字段賦值,項目中使用 mapstruct 框架自動映射對應字段。對于其中一個實體類中,新增加了兩個字段,重啟項目使用 swagger 調(diào)用測試,發(fā)現(xiàn)新增加的字段映射失敗,沒有把新增的兩個字段的值賦值過去,而其他字段則可以正常賦值。

二、問題原因
對于這個現(xiàn)象,有兩個原因,以下詳細說明一下:
原因一:映射的字段不一致
首先懷疑兩個字段需要映射的字段寫的不一致,檢查完之后發(fā)現(xiàn)需要映射的兩個字段與被映射的字段一模一樣,最終排除掉此原因。
原因2:編譯問題
使用 mapstruct 框架,對于需要映射的實體類,會先自動編譯好之后存入 target 目錄,而 idea 開發(fā)工具的重啟并沒有清空 target 目錄下已經(jīng)編譯好的文件,所以導致新增加的兩個字段即使重啟項目也沒有自動映射。
重啟后的項目 target 目錄下,還是之前編譯好的文件,因此新增加的兩個字段沒有自動映射。
三、解決方案
使用 maven 自帶插件,對項目 clean 一下,然后再重新啟動,即可解決此問題。

到此這篇關于Java中mapstruct mapper轉換器部分字段轉換無效的解決方案的文章就介紹到這了,更多相關Java mapstruct mapper轉換無效內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Spring?Boot獲取resources目錄下的文件三種方式詳解
在Spring?Boot項目中,經(jīng)常需要獲取resources目錄下的文件,這些文件可以包括配置文件、模板文件、靜態(tài)資源等,這篇文章主要介紹了Spring?Boot獲取resources目錄下的文件的三種方式,需要的朋友可以參考下2023-06-06
freemarker?jsp?java內(nèi)存方式實現(xiàn)分頁示例
這篇文章主要介紹了freemarker?jsp?java內(nèi)存方式實現(xiàn)分頁示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-06-06
SpringBoot @Value注解支持配置自動刷新能力擴展方式
本文介紹了如何通過自定義注解和BeanPostProcessor實現(xiàn)SpringBoot中@Value注解的配置自動刷新能力,主要步驟包括:定義一個支持動態(tài)刷新的注解,實現(xiàn)配置的動態(tài)變更,以及通過BeanPostProcessor掃描并刷新使用@Value注解的變量2024-12-12
Java8中 LocalDate和java.sql.Date的相互轉換操作
這篇文章主要介紹了Java8中 LocalDate和java.sql.Date的相互轉換操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-12-12
java POI解析Excel 之數(shù)據(jù)轉換公用方法(推薦)
下面小編就為大家?guī)硪黄猨ava POI解析Excel 之數(shù)據(jù)轉換公用方法(推薦)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-08-08

