最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

如何使用BeanUtils.copyProperties進(jìn)行對(duì)象之間的屬性賦值

 更新時(shí)間:2020年05月14日 10:51:13   作者:Terisadeng  
這篇文章主要介紹了使用BeanUtils.copyProperties進(jìn)行對(duì)象之間的屬性賦值,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

1、使用org.springframework.beans.BeanUtils.copyProperties方法進(jìn)行對(duì)象之間屬性的賦值,避免通過(guò)get、set方法一個(gè)一個(gè)屬性的賦值

/**
  * 對(duì)象屬性拷貝 <br>
  * 將源對(duì)象的屬性拷貝到目標(biāo)對(duì)象
  *
  * @param source 源對(duì)象
  * @param target 目標(biāo)對(duì)象
  */
 public static void copyProperties(Object source, Object target) {
  try {
   BeanUtils.copyProperties(source, target);
  } catch (BeansException e) {
   LOGGER.error("BeanUtil property copy failed :BeansException", e);
  } catch (Exception e) {
   LOGGER.error("BeanUtil property copy failed:Exception", e);
  }
 }

2、List集合之間的對(duì)象屬性賦值

/**
  * @param input 輸入集合
  * @param clzz 輸出集合類型
  * @param <E> 輸入集合類型
  * @param <T> 輸出集合類型
  * @return 返回集合
  */
 public static <E, T> List<T> convertList2List(List<E> input, Class<T> clzz) {
  List<T> output = Lists.newArrayList();
  if (CollectionUtils.isNotEmpty(input)) {
   for (E source : input) {
    T target = BeanUtils.instantiate(clzz);
    BeanUtil.copyProperties(source, target);
    output.add(target);
   }
  }
  return output;
 }

比如有兩個(gè)類,User和Employee,將存儲(chǔ)Employee對(duì)象的List賦給存儲(chǔ)User對(duì)象的List。

User類:

public class User {
 private String name;
 private Integer age;
 
 public String getName() {
  return name;
 }
 
 public void setName(String name) {
  this.name = name;
 }
 
 public Integer getAge() {
  return age;
 }
 
 public void setAge(Integer age) {
  this.age = age;
 }
 
 @Override
 public String toString() {
  return "User{" +
    "name='" + name + '\'' +
    ", age=" + age +
    '}';
 }
}

Employee類:

public class Employee {
 private String name;
 
 private Integer age;
 private String dept;
 
 public Employee(String name, Integer age, String dept) {
  this.name = name;
  this.age = age;
  this.dept = dept;
 }
 
 public String getName() {
  return name;
 }
 
 public void setName(String name) {
  this.name = name;
 }
 
 public Integer getAge() {
  return age;
 }
 
 public void setAge(Integer age) {
  this.age = age;
 }
 
 public String getDept() {
  return dept;
 }
 
 public void setDept(String dept) {
  this.dept = dept;
 }
 
 @Override
 public String toString() {
  return "Employee{" +
    "name='" + name + '\'' +
    ", age=" + age +
    ", dept='" + dept + '\'' +
    '}';
 }
}

測(cè)試類:

@RunWith(PowerMockRunner.class)
public class TestUtil
{
 @Test
 public void test(){
  Employee ee1=new Employee("A",21,"it");
  Employee ee2=new Employee("B",23,"account");
  User user=new User();
  BeanUtil.copyProperties(ee1, user);
  System.out.println(user);
  System.out.println("-------------分割線--------------");
  List<User> output=new ArrayList<>();
  List<Employee> source= Arrays.asList(ee1,ee2);
  output=BeanUtil.convertList2List(source,User.class);
  for (User str:output) {
   System.out.println(str);
  }
 }
}

到此這篇關(guān)于使用BeanUtils.copyProperties進(jìn)行對(duì)象之間的屬性賦值的文章就介紹到這了,更多相關(guān)BeanUtils.copyProperties對(duì)象賦值內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • C語(yǔ)言指針數(shù)組案例詳解

    C語(yǔ)言指針數(shù)組案例詳解

    這篇文章主要介紹了C語(yǔ)言指針數(shù)組案例詳解,本文通過(guò)案例詳細(xì)的解釋了指針與數(shù)組的初始化還有關(guān)系與應(yīng)用,需要的朋友可以參考下這篇文章
    2021-07-07
  • Java中YYYY-MM-dd與yyyy-MM-dd的區(qū)別及跨年問(wèn)題

    Java中YYYY-MM-dd與yyyy-MM-dd的區(qū)別及跨年問(wèn)題

    YYYY-MM-dd可能會(huì)導(dǎo)致跨年周的日期被歸屬到錯(cuò)誤的年份, yyyy-MM-dd總是表示實(shí)際的日歷年份,無(wú)論日期所在的周是否跨年,本文就來(lái)介紹一下兩者的區(qū)別,感興趣的可以了解一下
    2024-01-01
  • 使用MyBatis查詢千萬(wàn)級(jí)數(shù)據(jù)量操作實(shí)現(xiàn)

    使用MyBatis查詢千萬(wàn)級(jí)數(shù)據(jù)量操作實(shí)現(xiàn)

    這篇文章主要為大家介紹了如何使用MyBatis?查詢千萬(wàn)數(shù)據(jù)量的操作過(guò)程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-05-05
  • java實(shí)現(xiàn)線程調(diào)度器和時(shí)間分片

    java實(shí)現(xiàn)線程調(diào)度器和時(shí)間分片

    線程調(diào)度器和時(shí)間分片是多線程編程和操作系統(tǒng)設(shè)計(jì)中的核心概念,本文主要介紹了java實(shí)現(xiàn)線程調(diào)度器和時(shí)間分片,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2024-10-10
  • java的==運(yùn)算符和equals操作詳解

    java的==運(yùn)算符和equals操作詳解

    在Java中,==和equals都是用于比較兩個(gè)對(duì)象的操作符,但它們的行為和用途有所不同,這篇文章主要介紹了java的==運(yùn)算符和equals的相關(guān)知識(shí),需要的朋友可以參考下
    2024-08-08
  • Kotlin 接口與 Java8 新特性接口詳解

    Kotlin 接口與 Java8 新特性接口詳解

    這篇文章主要介紹了Kotlin 接口與 Java8 新特性接口,Kotlin的接口是可以包含屬性聲明。Kotlin默認(rèn)的聲明是fianl 和public的。 Kotlin里嵌套的類默認(rèn)并不是內(nèi)部?jī)?nèi),不包含對(duì)器外部類的隱式調(diào)用。下面我們來(lái)一起學(xué)習(xí)一下吧
    2019-06-06
  • SpringBoot如何自定義線程池配置類

    SpringBoot如何自定義線程池配置類

    有時(shí)候我們?cè)陧?xiàng)目中做一些長(zhǎng)鏈路的跑批任務(wù)時(shí),基于Springboot項(xiàng)目的定時(shí)任務(wù),我們可以指定一個(gè)自定義的線程配置類進(jìn)行單獨(dú)提供給具體跑批任務(wù)使用,而不占用整個(gè)系統(tǒng)資源,這篇文章主要介紹了SpringBoot如何自定義線程池配置類,需要的朋友可以參考下
    2024-04-04
  • Java文件處理之使用XWPFDocument導(dǎo)出Word文檔

    Java文件處理之使用XWPFDocument導(dǎo)出Word文檔

    最近因項(xiàng)目開發(fā)的需要,整理了一份用JAVA導(dǎo)出WORD文檔,下面這篇文章主要給大家介紹了關(guān)于Java文件處理之使用XWPFDocument導(dǎo)出Word文檔的相關(guān)資料,需要的朋友可以參考下
    2023-12-12
  • Java開發(fā)中常用的 Websocket 技術(shù)參考

    Java開發(fā)中常用的 Websocket 技術(shù)參考

    WebSocket 使得客戶端和服務(wù)器之間的數(shù)據(jù)交換變得更加簡(jiǎn)單,允許服務(wù)端主動(dòng)向客戶端推送數(shù)據(jù),當(dāng)然也支持客戶端發(fā)送數(shù)據(jù)到服務(wù)端。
    2020-09-09
  • Java中import java.util.Scanner的用處詳解

    Java中import java.util.Scanner的用處詳解

    文章主要介紹Java中的Scanner類及其常用方法next()和nextLine()的區(qū)別,next()方法在遇到空格、Tab鍵、回車鍵等分隔符時(shí)結(jié)束輸入,而nextLine()方法則接收所有輸入,直到遇到回車鍵
    2024-11-11

最新評(píng)論

阿勒泰市| 江阴市| 扎兰屯市| 崇礼县| 娄底市| 筠连县| 唐山市| 加查县| 长岛县| 额尔古纳市| 聊城市| 南皮县| 澄江县| 道孚县| 驻马店市| 厦门市| 屏东市| 广丰县| 大关县| 海兴县| 淮北市| 安宁市| 泾川县| 台州市| 电白县| 芒康县| 炉霍县| 吴川市| 司法| 诸暨市| 临清市| 泌阳县| 登封市| 芦溪县| 高邮市| 道真| 永清县| 六盘水市| 普安县| 青州市| 长宁区|