上一篇文章中介绍了一下什么是PO、BO、VO、DTO,以及在服务中的使用明亮:微服务篇-浅析VO、BO、 PO、 DTOzhuanlan.zhihu.com
服务之间定义不同的POJO是为了解耦,减少维护工作量,不过pojo之间的转换也是一个很大的工作量,工作量大在哪里呢?1、分层并将pojo分类后,pojo的数量是原来的n倍,pojo属性调整,需修改get和set方法,会是很繁琐的重复工作
2、pojo间转换,两个不同pojo需要定义转换方法,pojo的转换要定义不大量同的方法,pojo属性有变动,会连锁修改一堆的方法。
原来是为了减轻工作量,现在看来反而增加了不少工作,那怎么解决呢?我的方案是dozer + lombok
用lombok来省略get和set方法
通过dozer来实现不同pojo的转换工作
那具体怎么做呢?(接下来的内容,手动实践一下效果会比较好)
一、lombok的使用
首先创建一个maven项目,引入lombok,如下
org.projectlombok
lombok
1.18.8
然后给idea安装lombok插件,如下图
现在让我们创建一个user类型,包含 id,name,age三个属性,通常的写法是这样的
public class User {
private long id;<