使用Dozer实现高效的POJO转换

什么是POJO?

POJO简单来说就是简单的Java对象,包含了settergetter方法,与业务逻辑无关,而只是用来存储简单的数据。

其中可能包括

PO:持久对象
BO:业务对象
VO:视图对象
DTO:数据传输对象

而这些对象在必要的时候就应该进行转换。

为什么要进行转换?

在我理解看来有很多情况下都是需要转换的,这于Java的MVC的开发设计有关。

我们通过DAO获取了一个PO对象,最终要经过业务逻辑层展示给前端页面。但是在PO对象里的部分字段我是不想返回的。

特别是在前后端分离的开发当中,我们可能会直接将VO转换为Json,里面可能会暴露大量无用字段。

这个时候我们就需要将PO->VO。

上面只是一个简单的例子,我们在处理业务的时候可能会遇到更复杂的情况。

当然在业务逻辑特别简单的情况下,我们可能用同一对象既表示PO又表示BO还表示VO。

使用Dozer实现高效的转换

Java的POJO之类的属性是被很多人所诟病的,其中当然包括引入了大量的类以及复杂的转换。

所以我们可以通过Dozer进行POJO之间的转换。

其中Dozer支持三种方式进行POJO之间的转换。

1.通过注解进行转换(小项目推荐)

2.通过API进行转换(个人不推荐)

3.通过XML进行转换(大项目推荐)

这里我们只介绍一下他的默认转换方法,是通过字段名与settergetter方法进行实现的。

若需要更好用的转换方法,请参考官方文档

 

打赏