dozer
1.简介
dozer是用来两个对象之间属性转换的工具,有了这个工具之后,我们将一个对象的所有属性值转给另一个对象时,就不需要再去写重复的set和get方法了。
2.如果两个类之间的属性有些属性意思一样,但是在命名的时候发生了一些不同,那么可以通过@Mapping注解来进行映射
3.它支持三种映射方式:
注解、
API、
XML 为官方推荐的配置方式
4. 加入依赖
<dependency>
<groupId>net.sf.dozer</groupId>
<artifactId>dozer</artifactId>
<version>5.5.1</version>
</dependency>
5. 在此我用的是springboot 所以用的是注解的配置方式
/**
* dozer配置bean
*/
@Configuration
public class DozerConfig {
@Bean
public DozerBeanMapper mapper() {
DozerBeanMapper mapper = new DozerBeanMapper();
return mapper;
}
/*//更加详细的信息可以用xml配置,因为官方推荐用xml进行配置
@Bean
public DozerBeanMapper dozer() {
//这里是配置文件的路径
List<String> mappingFiles = Arrays.asList("dozer/dozer-mapping.xml");
DozerBeanMapper dozerBean = new DozerBeanMapper();
dozerBean.setMappingFiles(mappingFiles);
return dozerBean;
}*/
}
6. 进行测试 持久层用的是mybatis-plus
public interface UserDao extends BaseMapper<UserDO> {
}
@RunWith(SpringRunner.class)
@SpringBootTest(classes = Application.class)
public class ExcelTest { //dozer的转换
@Autowired
private Mapper dozerMapper;
@Autowired
private UserDao userDao;
@Test
public void test2(){
List<UserDO> userDOS = userDao.selectList(null);
for (UserDO userDO : userDOS) {
UserVO map = dozerMapper.map(userDO, UserVO.class);
System.out.println(map);
} }
}
dozer的更多相关文章
- Dozer扫盲级教程
前言 这篇文章是本人在阅读Dozer官方文档(5.5.1版本,官网已经一年多没更新了)的过程中,整理下来我认为比较基础的应用场景. 本文中提到的例子应该能覆盖JavaBean映射的大部分场景,希望对你 ...
- Dozer应用——类之间值的映射
1. Mappings via Annotation public class SourceBean { private Long id; private String name; @Mapping( ...
- jaxb和dozer简介
一.jaxb是什么 JAXB是Java Architecture for XML Binding的缩写.可以将一个Java对象转变成为XML格式,反之亦然. 我们把对象与关系数据库之间 ...
- VO和DO转换(三) Dozer
VO和DO转换(一) 工具汇总 VO和DO转换(二) BeanUtils VO和DO转换(三) Dozer VO和DO转换(四) MapStruct 可参考的资料: dozer官网 Dozer(Jav ...
- 比beanutil更加灵活的dto转换工具dozer
准确的说,是因为pojo无法一招走天下或者说内外部隔离的原因,所以有些时候,不得不在两个bean之间做copy或者转换映射.对于直接性的属性拷贝beanutil以及能够满足大部分要求,但是如果遇到字段 ...
- Dozer 使用小结
这篇文章是本人在阅读Dozer官方文档(5.5.1版本,官网已经一年多没更新了)的过程中,整理下来我认为比较基础的应用场景. 本文中提到的例子应该能覆盖JavaBean映射的大部分场景,希望对你有所帮 ...
- JavaBean递归拷贝工具类Dozer
JavaBean深度拷贝利器——Dozer DozerBeanMapper对象之间相同属性名赋值 DozerBeanMapper + 对象转Map方法 Dozer(JavaBean的映射工具)开发手册
- jar 包 的用处 ,dozer、poi、itext 、jxl 、jbarcode 、itextrenderer jquery 效果
1.dozer 做类型转换的, 新建 xml 文件 描述两个实体的对应关系 ,DozerBeanMapper mapper =new DozerBeanMapper().addMappingFiles ...
- 对象转换利器之Dozer
什么是Dozer Dozer是一个Java对象转换工具,可以在JavaBean和JavaBean之间进行递归数据复制,并且适应不同复杂的类型.Dozer会直接将名称相同的属性进行复制,属性名不同或者有 ...
- Dozer 对象的"搬运工"
前言:项目中,经常会遇到各层对象之间相互进行值传递的过程,如在数据据持久层有一持久类EntityA,在视图层可能会变为ViewA,通常情况下,这两个类的属性 名称 .类型都是一致的, 在两个对象传 ...
随机推荐
- C++面试常见问题——08const关键字
const 类内定义 类型名 函数名(参数列表) const{ //函数体: } 类外定义 类内申明 类型名 函数名(参数列表): 类外定义 类型名 类名::函数名(参数列表){ //函数体: ...
- 74.Python中ORM聚合函数详解:Max,Min
Max和Min:获取指定对象的最大值和最小值. 1. 比如:想要获取Author表中的最大的年龄和最小的年龄.示例代码如下: from django.http import HttpResponse ...
- 数论 CF27E Number With The Given Amount Of Divisors
求因子数一定的最小数(反素数) #include<iostream> #include<string> #include<cmath> #include<cs ...
- 吴裕雄 Bootstrap 前端框架开发——Bootstrap 字体图标(Glyphicons):glyphicon glyphicon-list-alt
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name ...
- 初步了解URL
URl的定义: 在webs上每种可用的资源(比如:HTML文档,图像,视频片段,程序等)都可以由一个通用的资源标志符(Universal Resource Identifier)进行定位.URl的组成 ...
- 基于Ambari Server部署HDP集群实战案例
基于Ambari Server部署HDP集群实战案例 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.部署Ambari Server端 博主推荐阅读: https://www.c ...
- P 1020 月饼
转跳点:
- 【PentestBox】rubygems.rb erorr
PentestBox可以在windows下运行一些Linux系统命令,但仍然基于windows. 若使用msfconsole或者gem命令是出现: internal:gem_prelude:1:in ...
- Android中时间戳的详细解释
Android中时间戳的详细解释: (1).定义: 时间戳就是根据当前系统时间生成的一组随机数字. (2).作用: 作为对数据唯一性的一种判断依据.避免了重复修改数据所带来的错误! (3).应用: ( ...
- HZNU-ACM寒假集训Day7小结 背包DP
背包问题 01背包 状态:f(i,j) 表示只能装前i个物品的情况下,容量为j的背包所能达到的最大总价值 状态转移方程: f(i,j)=max(f(i-1,j),f(i-1,j-w[i])+v[i] ...