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

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

到此這篇關(guān)于Java中mapstruct mapper轉(zhuǎn)換器部分字段轉(zhuǎn)換無效的解決方案的文章就介紹到這了,更多相關(guān)Java mapstruct mapper轉(zhuǎn)換無效內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
SpringBoot集成Hutool防止XSS攻擊的兩種解決方法
XSS漏洞是生產(chǎn)上比較常見的問題,本文主要介紹了SpringBoot集成Hutool防止XSS攻擊的兩種解決方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2024-04-04
RabbitMQ消息隊(duì)列中多路復(fù)用Channel信道詳解
這篇文章主要介紹了RabbitMQ消息隊(duì)列中多路復(fù)用Channel信道詳解,消息Message是指在應(yīng)用間傳送的數(shù)據(jù),消息可以非常簡(jiǎn)單,比如只包含文本字符串,也可以更復(fù)雜,可能包含嵌入對(duì)象,需要的朋友可以參考下2023-08-08
Java中BigInteger與BigDecimal類用法總結(jié)
在Java中有兩個(gè)用于大數(shù)字運(yùn)算的類,分別是java.math.BigInteger類 和 java.math.BigDecimal類,這兩個(gè)類都可以用于高精度計(jì)算,BigInteger類是針對(duì)整型大數(shù)字的處理類,而BigDecimal類是針對(duì)大小數(shù)的處理類,接下來帶大家來學(xué)習(xí)一下,在Java中如何處理大數(shù)字2023-05-05
SpringBoot集成selenium實(shí)現(xiàn)自動(dòng)化測(cè)試的代碼工程
Selenium?是支持web?瀏覽器自動(dòng)化的一系列工具和[庫(kù)]?它提供了擴(kuò)展來模擬用戶與瀏覽器的交互,用于擴(kuò)展瀏覽器分配的分發(fā),本文給大家介紹了SpringBoot集成selenium實(shí)現(xiàn)自動(dòng)化測(cè)試的代碼工程,需要的朋友可以參考下2024-08-08
在logback.xml中自定義動(dòng)態(tài)屬性的方法
這篇文章主要介紹了在logback.xml中自定義動(dòng)態(tài)屬性的方法,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-08-08
Java創(chuàng)建Web項(xiàng)目以及沒有web.xml的解決方法
本文詳細(xì)介紹了如何在Eclipse中創(chuàng)建Web項(xiàng)目并自動(dòng)生成web.xml,提供了直接生成、新建項(xiàng)目時(shí)勾選、手動(dòng)創(chuàng)建Web.xml三種方法,重點(diǎn)在于web.xml的作用和常見問題解決方案,2026-01-01

