hincky的主页 hincky的主页
  • 2023

    • nginx
    • prometheus
    • 小工具
    • 部署
  • 数据库

    • MySQL是怎么使用/运行的
    • Redis核心技术与实战
  • 极客时间

    • Web协议详解与抓包实战
    • SQL必知必会
    • MySQL45讲
个人日常
  • 分类
  • 标签
  • 归档
  • 随笔
GitHub (opens new window)

Hincky

当有趣的人,做想做的事
  • 2023

    • nginx
    • prometheus
    • 小工具
    • 部署
  • 数据库

    • MySQL是怎么使用/运行的
    • Redis核心技术与实战
  • 极客时间

    • Web协议详解与抓包实战
    • SQL必知必会
    • MySQL45讲
个人日常
  • 分类
  • 标签
  • 归档
  • 随笔
GitHub (opens new window)
  • 编程语言

    • 深入理解Java核心技术

      • BigDecimal
      • 常用Java工具库
        • 背景
        • 需求
          • 实现方案
        • MapStruct
  • 数据库

  • 极客时间

  • 读书笔记
  • 编程语言
  • 深入理解Java核心技术
hincky
2023-02-01
目录

常用Java工具库

# Apache Commons

BeanUtils和PropertyUtils类下的copyProperties()尽量不要用,因为效率低,而且是浅拷贝

# 背景

由于软件架构设计中的分层结构,导致每一层结构都要有一种数据模型

:::

  • 数据存储层——DO
  • 业务逻辑层——DTO
  • 展示层——VO :::

# 需求

不同数据对象模型之间就要进行属性的拷贝,即对对象的属性进行映射

personDTO.setName(personDO.getName())
1

# 实现方案

数据对象模型之间的映射工具类

  • MapStruct
  • Spring BeanUtils
  • Cglib BeanUtils
  • Apache PropertyUtils
  • Dozer

前三个性能较好,MapStruct首选;Dozer虽然性能较差,但是可以很好的和Spring配合,通过配置文件进行属性之间的映射,也一样受到喜爱

# MapStruct

编辑 (opens new window)
BigDecimal
MySQL安装与使用

← BigDecimal MySQL安装与使用→

最近更新
01
集成chatgpt的工具
05-24
02
修改服务器ssh默认连接端口
05-22
03
阿里云免费证书
05-15
更多文章>
Theme by Vdoing | Copyright © 2022-2023 Hincky | MIT License | 粤ICP备2022120427号
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式