解析MapStruct转换javaBean时出现的诡异事件

 更新时间:2021年09月29日 11:27:31   作者:焚天火  
在项目中用到了MapStruct,对其可以转换JavaBean特别好奇,今天小编给大家分享一个demo给大家讲解MapStruct转换javaBean时出现的诡异事件,感兴趣的朋友一起看看吧

在项目中用到了MapStruct,对其可以转换JavaBean特别好奇,因为之前都是使用Vo的方式手动set转换,但是接触到MapStruct后感觉以前使用Vo的方式确实有点low

于是就想着去看一下,写了个demo。于是这诡异的时间就开始了

我得代码如下:

这是pom文件

这是我的两个javaBean

大家可以看到那个发灰的序列化接口,那是因为我再运行出结果是转换后的JavaBean属性为空,我以为是序列化时导致的所以我去掉了,

可是后来发现完全不是这个原因

这是我的mapper转换类

还有我的启动执行类

正确的运行结果应该是这样的

现在我的运行结果是

这让我挺懵X的,于是我查了好多大佬的博客,都说在pom中添加 “maven-compiler-plugin” 的配置就可以解决于是我配置了

如下:

那灰色的是看到有的大佬说的这么配置,之前我的maven-compiler-plugin是3.8版本的,跟着大佬的只是做成了现在的样子,但是好像还是没什么用,

运行之后属性就是空的,我尝试maven-clean和maven-instell在我大量的尝试中我突然发现在install之后修改那个转换的方法名之后就可以转换成功,属性也有了值,

我通过debug方式去看了执行过程中,在我没有改方法名之前mapper的实现类中没有生成set方法,但是我改了之后就会生成set方法,这也是导致属性为null的直接原因。

我尝试了好多的方法,看了好多的资料也没想明白,为什么会出现这样的问题,苦恼》》》啊!!

我就是在打包后改了这个方法

只要改动一下这个构造方法就可以实现。。

求大佬解惑,什么原因啊

到此这篇关于MapStruct转换javaBean时出现的诡异事件的文章就介绍到这了,更多相关MapStruct转换javaBean内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • BeanUtils.copyProperties()拷贝id属性失败的原因及解决

    BeanUtils.copyProperties()拷贝id属性失败的原因及解决

    这篇文章主要介绍了BeanUtils.copyProperties()拷贝id属性失败的原因及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-09-09
  • java邮件发送的实现

    java邮件发送的实现

    本篇是用于java来实现邮件的发送的实例代码,基于smtp服务,有需要的可以参考一下。
    2016-10-10
  • java实现合并单元格的同时并导出excel示例

    java实现合并单元格的同时并导出excel示例

    这篇文章主要给大家介绍了关于java实现合并单元格的同时并导出excel的相关资料,文中先进行了简单的介绍,之后给出了详细的示例代码,相信对大家具有一定的参考价值,需要的朋友们下面来一起看看吧。
    2017-03-03
  • MyBatis源码解析之Transaction事务模块

    MyBatis源码解析之Transaction事务模块

    这篇文章主要介绍了MyBatis源码解析之Transaction事务模块,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-10-10
  • Java中JUC 的 Exchange 交换器详情

    Java中JUC 的 Exchange 交换器详情

    这篇文章主要介绍了Java中JUC 的 Exchange 交换器详情,文章基于Java的相关资料展开详细的内容介绍,需要的小伙伴可以参考一下
    2022-05-05
  • Java在PDF中替换文字详解及可能遇到的问题

    Java在PDF中替换文字详解及可能遇到的问题

    本文详细介绍了如何使用Java和Spire.PDF for Java库在PDF文档中批量替换文字,包括替换特定文字的所有实例、第一个实例以及使用正则表达式,同时,探讨了可能遇到的问题及其解决方案,需要的朋友可以参考下
    2024-09-09
  • Spring IOC 能降低耦合的问题分析及解决方法

    Spring IOC 能降低耦合的问题分析及解决方法

    这篇文章主要介绍了Spring IOC 为什么能降低耦合,依赖注入是调用者仅通过声明某个组件就可以获得组件的控制权,而对该组件的依赖关系管理、查找、加载由外部完成,需要的朋友可以参考下
    2022-06-06
  • Jenkins自动部署Net Core过程图解

    Jenkins自动部署Net Core过程图解

    这篇文章主要介绍了Jenkins自动部署Net Core过程图解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-12-12
  • Java代码审计的一些基础知识你知道吗

    Java代码审计的一些基础知识你知道吗

    这篇文章主要介绍了基于Java的代码审计功能的基础知识,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2021-09-09
  • 如何调用chatGPT实现代码机器人

    如何调用chatGPT实现代码机器人

    最近chatGPT也是非常的火爆,相信大家都看到了,现在提供一种Java调用chatGPT的方法,我们主要通过两个工具来实现,一就是httpclient,二就是hutool,你觉得那种好理解你就用那种即可,今天通过本文给大家分享调用chatGPT实现代码机器人,感兴趣的朋友一起看看吧
    2022-12-12

最新评论