当前位置: 首页 > news >正文

全国法院网站群建设会seo怎么发外链的

全国法院网站群建设会,seo怎么发外链的,临清网站制作,网页设计课程心得体会500字JavaBean间的转换 ⭐⭐⭐⭐⭐⭐ Github主页👉https://github.com/A-BigTree 笔记链接👉https://github.com/A-BigTree/Code_Learning ⭐⭐⭐⭐⭐⭐ 如果可以,麻烦各位看官顺手点个star~😊 文章目录 JavaBean间的转换1 Apache Co…

JavaBean间的转换

⭐⭐⭐⭐⭐⭐
Github主页👉https://github.com/A-BigTree
笔记链接👉https://github.com/A-BigTree/Code_Learning
⭐⭐⭐⭐⭐⭐

如果可以,麻烦各位看官顺手点个star~😊

文章目录

  • JavaBean间的转换
    • 1 Apache Commons BeanUtils
    • 2 Spring的BeanUtils
    • 3 Json序列化转换
    • 4 MapStruct


前面文章中提到了VO、DTO、BO、PO等概念(【Java】—一篇搞懂POJO和VO、BO、DTO、PO模型),在实际工程中对于一次请求可能涉及到多个对象转换过程,如果对于每一次转换都手动去维护一个转换方法工作量是非常大的,而且在后续业务拓展时,如果我们有增加字段的需求,对于每一层的转换方法都要去维护变更,这是一件很麻烦的事情,所以下面推荐一些可以实现自动转换的方法,这里我们先定义一个用户的DTO对象和PO对象

  • UserDTO:
@Data
public class UserDTO implements Serializable {private long id;private String userName;private String shortName;private int age;
}
  • UserPO:
@Data
public class UserPO implements Serializable {private long id;private String userName;private int age;
}

1 Apache Commons BeanUtils

Apache Commons BeanUtils 提供了 PropertyUtils.copyProperties()BeanUtils.copyProperties()方法来实现对象之间属性的拷贝。

PropertyUtils.copyProperties() 使用方法为例:

// 方法封装
public static void copyProperties(Object dest, Object orig) {try {// 入参1为目标转换对象PropertyUtils.copyProperties(dest, orig);} catch (Exception e)throw e;
}

特点:

  • PropertyUtils支持为null的场景;

缺点:

  1. 它的性能问题相当差;
  2. PropertyUtils有自动类型转换功能,而java.util.Date恰恰是其不支持的类型;

2 Spring的BeanUtils

对于一个Spring项目来说,这是一种常用方法,封装示例如下:

// 方法封装
public static void copyProperties(Object orig, Object dest) {try {// 入参2为目标转换对象PropertyUtils.copyProperties(orig, dest);} catch (Exception e)throw e;
}

特点:

  • 速度相对快一些;
  • 第一个参数是源bean,第二个参数是目标bean,与上面的相反;

缺点:

  1. BeanUtils没有自动转换功能,遇到参数名相同,类型不同的参数不会进行赋值;
  2. BeanUtils对部分属性不支持null的情况,Ineger、Boolean、Long等不支持;

3 Json序列化转换

这种方法就是将java对象转换为json,然后将JSON转换成Java对象。这里以Spring默认的序列化框架jackson为例:

public class JsonConvertExample {private static final ObjectMapper MAPPER = new ObjectMapper();public static void main(String[] args) {UserPO userPO = new UserPO();userPO.setId(1L);userPO.setUserName("ABigTree");userPO.setAge(22);String json = MAPPER.writeValueAsString(userPO);UserDTO userDTO = MAPPER.readValue(json, UserDTO.class);}
}

特点:

  • 属性名需保持一致,或通过配置Json序列化的相关设置来满足相关需求
  • 多了序列化与反序列化过程,性能大打折扣;

缺点:

  • 多此一举,全是缺点😂

4 MapStruct

现在要介绍一个性能爆炸、高级优雅、大厂标准的转换方法,MapStruct框架,要使用MapStruct需要先在pom.xml中添加依赖:

<dependency><groupId>org.mapstruct</groupId><artifactId>mapstruct</artifactId>
</dependency>

如果要使用 MapStruct 库进行对象之间的映射,首先需要定义一个 Mapper 接口,并在接口中编写映射方法。然后,MapStruct 库会自动生成对应的映射实现类,接口定义如下:

import org.mapstruct.Mapper;
import org.mapstruct.Mapping;
import org.mapstruct.factory.Mappers;@Mapper
public interface UserMapper {UserMapper INSTANCE = Mappers.getMapper(UserMapper.class);@Mapping(source = "shortname", target = "userName")UserPO toUserPO(UserDTO dto);
}

除了同名字段自动转换的功能,MapStruct还支持@Mapping等注解去配置转换过程中细节实现。

对于MapStruct为什么性能爆炸和MapStruct的进阶用法,这里先挖个坑,后面去开坑详细介绍~

http://www.tj-hxxt.cn/news/28780.html

相关文章:

  • 新风格网站谷歌关键词分析工具
  • 苏州 网站建设百度关键词搜索量排行
  • 网站规划的任务服务营销案例
  • 网页版qq登录网址win10优化大师怎么样
  • flash网站模板免费下载站长工具站长之家
  • 互联网做网站排明免费建立个人网站官网
  • 淘宝客做网站备注怎么写的站长统计工具
  • 睢宁网站建设如何提升关键词的自然排名
  • 网站开发佛山北京搜索关键词优化
  • 做网站能不能放暴露图片厦门seo结算
  • 做阀门的英文网站怎么写优化搜索引擎的方法
  • 做网站的经历感想南昌seo排名外包
  • 国外那些网站是做菠菜的洛阳seo博客
  • 做网站的害处济源新站seo关键词排名推广
  • 怎么上传自己的网站百度识图在线
  • 郑州网站推广专员优秀的营销案例
  • 如何制作自己的网站并且插口代码个人主页网页设计模板
  • 怎么建设ftp网站seo的基本工作内容
  • 工商联网站建设作用优化怎么做
  • 正规营销型网站建设公司网络营销模式有哪几种
  • 校级特色专业建设网站品牌型网站制作价格
  • 公安网站建设方案书国内的搜索引擎有哪些
  • 网络营销第二板斧是什么网站关键词优化推广哪家快
  • asp.net mvc 做网站百度快速排名优化工具
  • 网站关键词推广企业seo属于运营还是技术
  • 网站设计制作是什么新站如何让百度快速收录
  • 新闻网站开发360网站推广
  • 做文学网站算不算开公司东莞做网站优化
  • 营销型网站建设+课程千锋教育的口碑怎么样
  • 网站设计欣赏导航快速seo排名优化