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

如何建设平台型的网站网站设计制作

如何建设平台型的网站,网站设计制作,php采集wordpress文章内容,做动态网站用什么软件BeanUtil.copyProperties的优化与使用 前言一、copyProperties是什么?二、使用步骤1.引入库2.基础使用3.进阶使用4.实用场景 总结 前言 BeanUtil.copyProperties的优化与使用 一、copyProperties是什么? 在java中,我们想要将一个类的值赋值…

BeanUtil.copyProperties的优化与使用

  • 前言
  • 一、copyProperties是什么?
  • 二、使用步骤
    • 1.引入库
    • 2.基础使用
    • 3.进阶使用
    • 4.实用场景
  • 总结


前言

BeanUtil.copyProperties的优化与使用


一、copyProperties是什么?

在java中,我们想要将一个类的值赋值给另一个类,那么就需要使用到copyProperties函数,例如BeanUtil.copyProperties(Object source, Object target)。

二、使用步骤

1.引入库

引入如下对应工具类:

//这里引入的是5.3.1版本hutool工具类<dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>5.3.1</version></dependency>
//在代码中注入地址
import cn.hutool.core.bean.BeanUtil;

2.基础使用

将A中一样的字段值复制给B:

Student studentA = new Student();
Student studentB = new Student();
//将A的值赋值给B
BeanUtil.copyProperties(studentA,studentB);

3.进阶使用

我们点入hutool源码,可以看到支持第三个参数填写:

	/*** 复制Bean对象属性<br>* 限制类用于限制拷贝的属性,例如一个类我只想复制其父类的一些属性,就可以将editable设置为父类** @param source           源Bean对象* @param target           目标Bean对象* @param ignoreProperties 不拷贝的的属性列表*/public static void copyProperties(Object source, Object target, String... ignoreProperties) {copyProperties(source, target, CopyOptions.create().setIgnoreProperties(ignoreProperties));}

因此可以看出,我们可以自定义不copy的字段名,例如:我不想把A中的name值赋值给B 可以按照如下写:

Student studentA = new Student();
Student studentB = new Student();
String[] strArray = new String[1];
strArray[0] = "name"; 
//将A的值赋值给B
BeanUtil.copyProperties(studentA,studentB,strArray);

4.实用场景

在业务中,比较实用的是不将对象中的null值进行覆盖,可以使用以下支持函数

    /*** 解决BeanUtils.copyProperties() 的 null值覆盖问题(基本类型的0 0.0)* @param source* @return*/public static String[] getNullPropertyNames (Object source) {final BeanWrapper src = new BeanWrapperImpl(source);PropertyDescriptor[] pds = src.getPropertyDescriptors();Set<String> emptyNames = new HashSet<String>();for(PropertyDescriptor pd : pds) {Object srcValue = src.getPropertyValue(pd.getName());if (srcValue == null || Objects.equals(srcValue,0) || Objects.equals(srcValue,0.0)) emptyNames.add(pd.getName());}String[] result = new String[emptyNames.size()];return emptyNames.toArray(result);}
Student studentA = new Student();
Student studentB = new Student();
//studentA中的null值不进行赋值
BeanUtil.copyProperties(studentA,studentB,getNullPropertyNames(studentA));

总结

欢迎讨论。

http://www.yidumall.com/news/21823.html

相关文章:

  • 辽宁省建设机械协会官方网站东莞网站制作的公司
  • 网站开发成本预算快速推广
  • wordpress制作lp西安seo网站优化
  • 什么专业会做网站网站设计方案模板
  • 平阳网站建设广东vs北京首钢
  • 哈尔滨做网站搭建的推广普通话的意义是什么
  • 男人做爽的免费网站创量广告投放平台
  • 本地做的网站怎么解析到域名seo搜索排名优化方法
  • 广州网站建设技术托管怎样进行关键词推广
  • 网站做实名认证新媒体推广渠道有哪些
  • 网站建设涉及的内容百度推广信息流有用吗
  • 密云城市建设官方网站企业网站建设步骤
  • 西安php网站建设2023年重大时政热点
  • 房地产开发公司网站建设方案模板免费广告制作软件
  • 网站策划公司线上营销培训
  • 在线教育网站开发经验简历填写网站alexa排名
  • 各大搜索引擎网站提交入口大全关键词优化的原则
  • 淄博网站价格软文平台有哪些
  • 哪里有给网站做搜狗官网
  • 服务器怎么做网站教程济南全网推广
  • 提升网站权重的方法seo搜索引擎优化内容
  • 展览展台设计公司seo优化网站优化排名
  • 济宁北湖建设集团网站深圳优化seo
  • div+css网站模板河北关键词seo排名
  • 网站维护费用一年多少百度seo效果怎么样
  • 北京h5网站建设报价东莞seo优化方案
  • 男女直接做的视频网站网络推广都有哪些平台
  • 企业网站制作费做分录互联网营销师培训课程
  • php网站开发几技术难点临沂seo建站
  • 文本网站开发英文文献交换免费连接