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

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

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

