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

任何人任意做网站销售产品违法吗桔子seo网

任何人任意做网站销售产品违法吗,桔子seo网,网站优化怎么做,美女做暖暖视频的网站文章目录 一、什么是Bean拷贝?二、使用案例1、在pom文件中引入springframework(maven工程)2、准备两个bean对象3、方法使用单个对象拷贝集合拷贝 三、将BeanUtils进一步封装 一、什么是Bean拷贝? 简单来讲,就是 把一个bean对象中的字段拷贝到…

文章目录

  • 一、什么是Bean拷贝?
  • 二、使用案例
    • 1、在pom文件中引入springframework(maven工程)
    • 2、准备两个bean对象
    • 3、方法使用
      • 单个对象拷贝
      • 集合拷贝
  • 三、将BeanUtils进一步封装

一、什么是Bean拷贝?

简单来讲,就是 把一个bean对象中的字段拷贝到另一个bean对象的字段
在这里插入图片描述
它在spring项目中常用来封装VO对象向前端传递数据。

例如:当前A对象有6个字段,而前端只需获取其中3个字段,我们则需将此3个字段封装(VO)返回前端,而不应将A中的6个字段(PO)返回前端。

但是我们每次都new 对象,然后get/set 赋值会很繁琐,代码复用性和效率不高,因此我们可以使用apche提供的BeanUtils工具类

二、使用案例

1、在pom文件中引入springframework(maven工程)

2、准备两个bean对象

package com.mae.vuedemo.beanutils;import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;/*** @Author: Mae* @Date: 2022/2/7* @Time: 21:44* @Description:*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class User {private Long id;private String name;private String password;private String email;private Integer sex;
}
package com.mae.vuedemo.beanutils;import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;/*** @Author: Mae* @Date: 2022/2/7* @Time: 21:45* @Description:*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class UserVo {private String name;private String email;
}

3、方法使用

单个对象拷贝

copyProperties(Object source, Object target):
将source中的字段添加到target中
注意:两对象中对应字段名和类型应完全相同,否则无法拷贝

public class Demo {public static void main(String[] args) {User user = getUser();UserVo userVo = new UserVo();System.out.println("拷贝前:");System.out.println(userVo);BeanUtils.copyProperties(user, userVo);System.out.println("拷贝后:");System.out.println(userVo);}private static User getUser() {User user = new User(1L, "Mae", "555555", "48488@mae.com", 0);return user;}
}
拷贝前:
UserVo(name=null, email=null)
拷贝后:
UserVo(name=Mae, email=48488@mae.com)

集合拷贝

拷贝前:
[]
拷贝后
[UserVo(name=Mae, email=48488@mae.com), UserVo(name=Naomi, email=48488@mae.com), UserVo(name=Mae2, email=48488@mae.com), UserVo(name=Naomi, email=484dd88@mae.com)]

三、将BeanUtils进一步封装

实际项目中,我们还需要对BeanUtils进一步封装,因为Bean拷贝我们经常用到每次都像上面那样的话代码非常冗余且无法复用,因此我们进一步封装BeanUtils,使得每一个PO类都能够实现Bean拷贝(前提字段相同)

前提知识对 反射、泛型、stream流 应用 比较熟练

public class BeanCopyUtils {private BeanCopyUtils() {}
/** 1、单个对象*/public static <V> V copyBean(Object source, Class<V> clazz) {/** 创建目标对象 实现属性拷贝*/V result = null;try {result = clazz.newInstance();/** 拷贝*/BeanUtils.copyProperties(source, result);} catch (Exception e) {e.printStackTrace();}return result;}/** 2、集合*/public static <O, V> List<V> copyBeanList(List<O> list, Class<V> clazz) {/** 创建目标对象 实现属性拷贝*/return list.stream().map(o -> copyBean(o, clazz)).collect(Collectors.toList());}
}
     User user = getUser();UserVo userVo = BeanCopyUtils.copyBean(user, UserVo.class);System.out.println(userVo);List<User> users=getUserList();List<UserVo> userVos = BeanCopyUtils.copyBeanList(users, UserVo.class);System.out.println(userVos);
UserVo(name=Mae, email=48488@mae.com)
[UserVo(name=Mae, email=48488@mae.com), UserVo(name=Naomi, email=48488@mae.com), UserVo(name=Mae2, email=48488@mae.com), UserVo(name=Naomi, email=484dd88@mae.com)]
http://www.hkea.cn/news/806480/

相关文章:

  • 快速做网站的方法网站换了域名怎么查
  • 建筑工程网络计划图怎么编制百度seo搜索排名
  • 免费建网站系统百度云登陆首页
  • wordpress 采集微博网站建设优化
  • 做淘宝客新增网站推广百度用户服务中心人工电话
  • 域名备案网站建设书模板百度统计登录
  • 禁止WordPress访问官网优化关键词排名提升
  • 爬取漫画数据做网站今日热搜新闻头条
  • 雄安网站建设制作网站关键词如何快速上首页
  • 佛山从事网站建设百度小程序入口官网
  • 自建网站平台可以实现哪些功能网络营销这个专业怎么样
  • 佛山新网站制作公司网页制作成品模板网站
  • 校园网站建设的意见企业管理培训课程网课
  • 郑大远程教育动态网站建设seo优化关键词排名
  • 做logo什么网站昆明百度关键词优化
  • 怎样做省钱购物网站sem推广代运营
  • 英文网站开发公司万网阿里云域名查询
  • 做调查问卷网挣钱的网站新闻 今天
  • 网站建设工作小组在线建站平台免费建网站
  • 可以发广告的网站湖南seo推广系统
  • 大丰网站建设哪家好成都seo
  • 学校网站建设项目的wbsseo交流qq群
  • 筑梦网站建设西安百度竞价开户
  • 个体营业执照可以做网站搞推广吗推广网站制作
  • 公共交通公司网站建设方案移动慧生活app下载
  • 国内开源代码网站搜了网推广效果怎么样
  • html5 metro风格网站模板今日新闻事件
  • 网站不在首页显示出来做网络推广
  • 上海网站seo公司网页推广平台
  • 网站服务器租用价格表百度怎么发布自己的广告