假如有一个Person类,一个Student类,如下:

public class Person

{

public int id{get;set;}

public string name{get;set;}

public byte sex{get;set;}

public int age{get;set;}

}

public class Student

{

public string name{get;set;}

public byte sex{get;set;}

public string sexCN{get;set;}

}

然后有一个List对象personList,我们要从这个personList数据对象中得到一个新的studentList对象,在C#里的方法如下:

List studentList=new List();

foreach (var person in personList)

{

Student student=new Student();

student.name=person.name;

student.sex=person.sex;

student.sexCN=SexEnum.Default.GetDes(person.sex.ToString());

studentList.Add(student);

}

在Java里面的实现方式如下:

List studentList=new ArrayList<>();

for(Person person in personList){

Student student=new Student();

BeanMapper.copy(person,student);//第一个参数是源数据,第二个参数是目标数据

student.setSexCN(SexEnum.GetDes(person.sex.ToString()));

}

注: 目标数据实体里的属性名必须和源数据实体里的属性名保持一致。

到这里为止,我已经知道了BeanMapper的使用方法,但是还只知其然,不知其所以然。

后来一翻代码,发现BeanMapper是被同事封装过了的,它其实是基于DozerBeanMapper的map方法。就算看到这里,我可能还是没能深刻的知其所以然,不然应该也可以在C#里面实现一个类似的拷贝方法了吧。

beanmapper java_Java今日收获——BeanMapper相关推荐

  1. 2021-5月13日-今日收获

    计划的第一天 技术上的收获: 操作系统的实验运行成功 前后端连接成功 自我控制上的收获: 跑步成功 很多次没听相声睡觉.但是昨天没有 在宿舍说话很少,很少主动说话,也就没有什么不该说的说了 总结 今天 ...

  2. beanmapper java_java – 在Spring中配置ObjectMapper

    我的目标是配置objectMapper的方式,它只有serialises元素用@JsonProperty注释. 为了这样做,我跟着这explanation,说如何配置objectmapper. 我包括 ...

  3. 2021-5月14日-今日收获

    计划第二天 今天制定了详细的计划 但是因为对自己的能力预估不准确,导致有些事情没完成: 批改网作文没写 数据增强没有弄 train代码没看 图片名字没有完全改成英文 拖延症任重而道远 完成的: 真正意 ...

  4. 今日收获 2018/4/22

    这几天在赶作业,非常痛苦...不了解的东西硬要你上手,又没有耐心学,在极度焦虑中度过... 关于CSS的收获: 刚刚意外遇见一种情况,div中的p标签中的文本溢出了,上网一搜发现很有意思,因为我的测试 ...

  5. 2019/1/14,15 Python今日收获

                       Python day7--017函数:Python的乐高积木,018函数:灵活即强大 1.def创建函数 def 函数名( 参数 ): 函数体 2.DRY原则特指 ...

  6. python天天向上续2_2019/2/12 Python今日收获

    Python day12--025,026字典:当索引不好用时 1.字典:python唯一的一个映射类型.用键值对存储数据,他的标志是大括号.一个键值组合叫一个项.键的类型既可以是字符串类型也可以是整 ...

  7. 2019/2/18 Python今日收获

    Python day15--032,033异常处理:你不可能总是对的 1. Python标准异常总结 AssertionError 断言语句(assert)失败 AttributeError 尝试访问 ...

  8. 2019/2/12 Python今日收获

                       Python day12--025,026字典:当索引不好用时 1.字典:python唯一的一个映射类型.用键值对存储数据,他的标志是大括号.一个键值组合叫一个项 ...

  9. 2019/2/17 Python今日收获

    Python day14--031永久存储:腌制一缸美味的泡菜 1.pickle模块(pickle:酱菜的意思) 2.我们把python的对象转化成二进制的过程称为pickling,从二进制转化为对象 ...

最新文章

  1. 假几何真逆序数 NB HDU3465
  2. oracle函数lp,Oracle 执行计划的查看方式
  3. T183637-变异距离(2021 CoE III C)【单调栈】
  4. java referencemap_Java中TypeReference用法说明
  5. c++面向对象高级编程 总目录
  6. kernel启动过程总结的思维导图
  7. 服务端接口中的那些坑
  8. linux禁止防火墙命令,LINUX关闭打开防火墙命令
  9. matlab符号函数绘图法_matlab制图—符号函数(显函数、隐函数和参数方程)画图
  10. iso22000食品安全管理体系_食品安全管理体系ISO22000:2018澄清了两个层次PDCA的区别,具体怎么样的...
  11. pandas重新设置列索引_python数据分析包Pandas(一)
  12. WebSocket之JS发送二进制
  13. centos6.5解决方案-1
  14. 这个神器5秒20个爆款标题,关键还免费,做自媒体不会写标题?
  15. envi分类后修改类名称、显示颜色
  16. 大数据学习之hadoop——09一次完整的edits、fsimage、edits_inprogress、chkpoint、NameNode运行原理分析
  17. VON矿链资本的技术含量内幕是什么?尊皇社区为你揭秘!
  18. 按键精灵安卓版去除重复数组然后排序排序
  19. prent()和prents()的区别
  20. 浅谈AS2 传输/连接

热门文章

  1. 什么是运动仿真?浩辰3D制图软件运动仿真应用技巧
  2. 并行并发CMS垃圾回收器:-XX:+UseConcMarkSweepGC
  3. vivo刷入鸿蒙,vivo鸿蒙系统刷机包
  4. 金融结构的经济学分析
  5. Caused by: hudson.plugins.git.GitException: Command “git fetch --tags --progress -- https://github.
  6. 微信公纵平台基本配置php_php微信公众平台开发(一) 配置接口
  7. android 里面的颜色的RGB
  8. 比亚迪王传福眼中的绿色工业时代:技术是改变世界的源动力
  9. springboot毕设项目酒店管理系统g72sp(java+VUE+Mybatis+Maven+Mysql)
  10. BCset BC set how entry is inserted to Database table when activated