加入收藏 | 设为首页 | 会员中心 | 我要投稿 辽源站长网 (https://www.0437zz.com/)- 云专线、云连接、智能数据、边缘计算、数据安全!
当前位置: 首页 > 综合聚焦 > 编程要点 > 语言 > 正文

喜新厌旧,是我的样子。今天就宠Mapstruct怎么了!

发布时间:2021-06-03 15:39:14 所属栏目:语言 来源:互联网
导读:这些年写Java写多了,感觉Java是越来越丑。尤其是在玩了TypeScript之后,看到Java代码总有一股想吐的感觉。这种思想的转变,从侧面上证明了,我并不是一个专一的

这些年写Java写多了,感觉Java是越来越丑。尤其是在玩了TypeScript之后,看到Java代码总有一股想吐的感觉。这种思想的转变,从侧面上证明了,我并不是一个专一的人。

因为我是一条狗。

喜新厌旧,是我的本性,即使我把自己表现的很纯洁。

按理说,牛x的人物并不需要关注语言层面这种较低级的问题。但是,无论是什么语言,各种属性拷贝,是在工程上绕不开的问题。比如折腾人的VO、BO、DTO、DO等。

项目中的代码,有六成,是在做这些无用的转换和各种数据验证。这个比例是我瞎诌的,但也相差无几。

在Java中,有三种方式来处理这些属性拷贝:

1

直接硬编码,把代码硬怼上去

使用各种BeanUtils,通过反射完成赋值

使用类似MapStruct的工具,直接在编译期完成

其实嘛,哪一种都有利弊,有些东西虽然香,但实际用起来,还是要思量一下。个个打扮的花枝招展的,都是外在的皮囊。

本文主要介绍Mapstruct的使用,并从这香喷喷的工具中,闻一下其中变馊的味道。

1. 如何使用?

照例,需要在pom中加入依赖包,我们这里用的是1.4.1.Final版本。

<dependency> 

    <groupId>org.mapstruct</groupId> 

    <artifactId>mapstruct</artifactId> 

    <version>${org.mapstruct.version}</version> 

</dependency> 

这还没完,还需要在pom中的build部分,增加一个插件。搞这么复杂,是因为它的原理和lombok是一样的,同样通过APT在编译器实现的。

(编辑:辽源站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读