架构师修炼之道

2019-11-26
字体:
浏览:
文章简介:在实际项目开发过程中我们经常会遇到把A类的属性复制到B类中的这种场景,比如实体类DO对象从数据库查询出来,在给到调用方之前很可能需要转成DTO传输对象,那这个时候就需要将DO对象的字段值复制到DTO对象中,如果字段比较少可能你手写就行了,但如果要复制的字段比较多,超过50个,并且这种场景在项目中出现频繁,该怎么办?仍然还是去手写,然后一点一点复杂吗?如果这样做那效率必然是低下的,而且没有一点儿技术含金量,花大把时间写这种样本代码对自己成长帮助不大.接下来介绍的是一款让你更优雅的实现Bean之间属

在实际项目开发过程中我们经常会遇到把A类的属性复制到B类中的这种场景,比如实体类DO对象从数据库查询出来,在给到调用方之前很可能需要转成DTO传输对象,那这个时候就需要将DO对象的字段值复制到DTO对象中,如果字段比较少可能你手写就行了,但如果要复制的字段比较多,超过50个,并且这种场景在项目中出现频繁,该怎么办?仍然还是去手写,然后一点一点复杂吗?如果这样做那效率必然是低下的,而且没有一点儿技术含金量,花大把时间写这种样本代码对自己成长帮助不大。

接下来介绍的是一款让你更优雅的实现Bean之间属性映射的框架,并且在同类框架中性能是最好的。

MapStruct是一个代码生成器,它基于约定优于配置的方法极大地简化了Java bean类型之间映射的实现。

通过上面的介绍我们应该能够理解到这么几点,首先它是一个代码生成器,就是用来帮开发者自动生成代码的工具,只需要通过简单的代码就可以实现原来手工编写的样板代码,因为它采用约定大于配置的设计思想,所以开发者只需要掌握简单的代码编写就可以了。

也就是说人家框架帮你自动生成了原先手工编写的代码,但实际上那些手工编写的代码还是存在的,只不过你没有编写,框架帮你自动生成了而已。这其实也回到框架的本质,事情还是那些事,就看你来做,还是它来做,它如果多做,你就少做,甚至可以不做。这里提到的它指的是各种框架,它的本质就是帮开发者做了一些事情。