解析MapStruct轉(zhuǎn)換javaBean時(shí)出現(xiàn)的詭異事件
在項(xiàng)目中用到了MapStruct,對(duì)其可以轉(zhuǎn)換JavaBean特別好奇,因?yàn)橹岸际鞘褂肰o的方式手動(dòng)set轉(zhuǎn)換,但是接觸到MapStruct后感覺(jué)以前使用Vo的方式確實(shí)有點(diǎn)low
于是就想著去看一下,寫(xiě)了個(gè)demo。于是這詭異的時(shí)間就開(kāi)始了
我得代碼如下:
這是pom文件

這是我的兩個(gè)javaBean


大家可以看到那個(gè)發(fā)灰的序列化接口,那是因?yàn)槲以龠\(yùn)行出結(jié)果是轉(zhuǎn)換后的JavaBean屬性為空,我以為是序列化時(shí)導(dǎo)致的所以我去掉了,
可是后來(lái)發(fā)現(xiàn)完全不是這個(gè)原因
這是我的mapper轉(zhuǎn)換類(lèi)

還有我的啟動(dòng)執(zhí)行類(lèi)

正確的運(yùn)行結(jié)果應(yīng)該是這樣的

現(xiàn)在我的運(yùn)行結(jié)果是

這讓我挺懵X的,于是我查了好多大佬的博客,都說(shuō)在pom中添加 “maven-compiler-plugin” 的配置就可以解決于是我配置了
如下:

那灰色的是看到有的大佬說(shuō)的這么配置,之前我的maven-compiler-plugin是3.8版本的,跟著大佬的只是做成了現(xiàn)在的樣子,但是好像還是沒(méi)什么用,
運(yùn)行之后屬性就是空的,我嘗試maven-clean和maven-instell在我大量的嘗試中我突然發(fā)現(xiàn)在install之后修改那個(gè)轉(zhuǎn)換的方法名之后就可以轉(zhuǎn)換成功,屬性也有了值,
我通過(guò)debug方式去看了執(zhí)行過(guò)程中,在我沒(méi)有改方法名之前mapper的實(shí)現(xiàn)類(lèi)中沒(méi)有生成set方法,但是我改了之后就會(huì)生成set方法,這也是導(dǎo)致屬性為null的直接原因。
我嘗試了好多的方法,看了好多的資料也沒(méi)想明白,為什么會(huì)出現(xiàn)這樣的問(wèn)題,苦惱》》》?。?!
我就是在打包后改了這個(gè)方法

只要改動(dòng)一下這個(gè)構(gòu)造方法就可以實(shí)現(xiàn)。。
求大佬解惑,什么原因啊
到此這篇關(guān)于MapStruct轉(zhuǎn)換javaBean時(shí)出現(xiàn)的詭異事件的文章就介紹到這了,更多相關(guān)MapStruct轉(zhuǎn)換javaBean內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
idea如何為java程序添加啟動(dòng)參數(shù)
文章介紹了如何在Java程序中添加啟動(dòng)參數(shù),包括program arguments、VM arguments和Environment variables,并解釋了如何在代碼中使用System類(lèi)獲取這些參數(shù)2025-01-01
FluentMybatis實(shí)現(xiàn)mybatis動(dòng)態(tài)sql拼裝和fluent api語(yǔ)法
本文主要介紹了FluentMybatis實(shí)現(xiàn)mybatis動(dòng)態(tài)sql拼裝和fluent api語(yǔ)法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-08-08
MyBatis_Generator插件的安裝以及簡(jiǎn)單使用方法(圖解)
下面小編就為大家?guī)?lái)一篇MyBatis_Generator插件的安裝以及簡(jiǎn)單使用方法(圖解)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-05-05
springMVC?MultipartFile上傳圖片時(shí)如何修改圖片大小
這篇文章主要介紹了springMVC?MultipartFile上傳圖片時(shí)如何修改圖片大小問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-12-12
springboot應(yīng)用服務(wù)啟動(dòng)事件的監(jiān)聽(tīng)實(shí)現(xiàn)
本文主要介紹了springboot應(yīng)用服務(wù)啟動(dòng)事件的監(jiān)聽(tīng)實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-04-04
spring @Scheduled注解的使用誤區(qū)及解決
這篇文章主要介紹了spring @Scheduled注解的使用誤區(qū)及解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-11-11
Mybatis-Plus 多表聯(lián)查分頁(yè)的實(shí)現(xiàn)代碼
本篇文章主要介紹了Mybatis-Plus 多表聯(lián)查分頁(yè)的實(shí)現(xiàn)代碼,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-06-06

