解析MapStruct转换javaBean时出现的诡异事件
作者:焚天火 时间:2022-05-15 01:16:28
在项目中用到了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的直接原因。
我尝试了好多的方法,看了好多的资料也没想明白,为什么会出现这样的问题,苦恼》》》啊!!
我就是在打包后改了这个方法
只要改动一下这个构造方法就可以实现。。
求大佬解惑,什么原因啊
来源:https://www.cnblogs.com/xiao-ao-jiang-hu/p/15351963.html
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
Spring Cloud Eureka 服务上下线监控的实现
详解spring mvc中url-pattern的写法
android异步消息机制 源码层面彻底解析(1)
![](https://img.aspxhome.com/file/2023/8/85958_0s.jpg)
老生常谈Scanner的基本用法
Java ThreadPoolExecutor的参数深入理解
一文梳理Java 8后的新功能
Java命令行下Jar包打包小结
![](https://img.aspxhome.com/file/2023/7/70517_0s.jpg)
剖析Java中阻塞队列的实现原理及应用场景
opencv实现轮廓高斯滤波平滑
![](https://img.aspxhome.com/file/2023/4/82534_0s.jpg)
java8使用filter()取出自己所需数据
![](https://img.aspxhome.com/file/2023/9/71619_0s.png)
JAVA8 十大新特性详解
Java8 Lambda表达式详解及实例
java8到java15的新功能简介
Java Code Cache满导致应用性能降低问题解决
spring中向一个单例bean中注入非单例bean的方法详解
![](https://img.aspxhome.com/file/2023/7/62167_0s.png)
详解Spring中bean的几种注入方式
Java创建类模式_动力节点Java学院整理
C#面向对象设计原则之里氏替换原则
Java Web项目中解决中文乱码方法总结(三种最新方法)
![](https://img.aspxhome.com/file/2023/7/65337_0s.png)
详解java接口基础知识附思维导图
![](https://img.aspxhome.com/file/2023/1/58861_0s.png)