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

Spring中使用copyProperties方法進(jìn)行對(duì)象之間的屬性賦值詳解

 更新時(shí)間:2023年12月14日 09:26:48   作者:Terisadeng  
這篇文章主要介紹了Spring中使用copyProperties方法進(jìn)行對(duì)象之間的屬性賦值詳解,使用org.springframework.beans.BeanUtils.copyProperties方法進(jìn)行對(duì)象之間屬性的賦值,避免通過(guò)get、set方法一個(gè)一個(gè)屬性的賦值,需要的朋友可以參考下

copyProperties進(jìn)行對(duì)象之間的屬性賦值

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  輸出集合類(lèi)型
     * @param <E>   輸入集合類(lèi)型
     * @param <T>   輸出集合類(lèi)型
     * @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è)類(lèi),User和Employee,將存儲(chǔ)Employee對(duì)象的List賦給存儲(chǔ)User對(duì)象的List。

User類(lèi):

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類(lèi):

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è)試類(lèi):

@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("-------------分割線(xiàn)--------------");
        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)于Spring中使用copyProperties方法進(jìn)行對(duì)象之間的屬性賦值詳解的文章就介紹到這了,更多相關(guān)copyProperties進(jìn)行對(duì)象之間的屬性賦值內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java中堆和棧的區(qū)別詳解

    Java中堆和棧的區(qū)別詳解

    這篇文章主要介紹了Java中堆和棧的區(qū)別詳解,所有的Java程序都運(yùn)行在JVM虛擬機(jī)內(nèi)部,我們這里介紹的自然是JVM(虛擬)內(nèi)存中的堆和棧,需要的朋友可以參考下
    2015-01-01
  • Maven版本管理之SNAPSHOT,Release與Nexus倉(cāng)庫(kù)的區(qū)別和影響詳解

    Maven版本管理之SNAPSHOT,Release與Nexus倉(cāng)庫(kù)的區(qū)別和影響詳解

    在?Java?Maven?項(xiàng)目中,我們經(jīng)常會(huì)看到不同形式的版本號(hào),這些版本號(hào)看起來(lái)差別不大,但在?Maven?構(gòu)建、依賴(lài)管理和生產(chǎn)環(huán)境穩(wěn)定性方面,影響非常明顯,下面小編就和大家詳細(xì)講解一下吧
    2026-05-05
  • Java不用算數(shù)運(yùn)算符來(lái)實(shí)現(xiàn)求和方法

    Java不用算數(shù)運(yùn)算符來(lái)實(shí)現(xiàn)求和方法

    我們都知道,Java的運(yùn)算符除了具有優(yōu)先級(jí)之外,還有一個(gè)結(jié)合性的特點(diǎn)。當(dāng)一個(gè)表達(dá)式中出現(xiàn)多種運(yùn)算符時(shí),執(zhí)行的先后順序不僅要遵守運(yùn)算符優(yōu)先級(jí)別的規(guī)定,還要受運(yùn)算符結(jié)合性的約束,以便確定是自左向右進(jìn)行運(yùn)算還是自右向左進(jìn)行運(yùn)算,但是如果不用運(yùn)算符怎么求和呢
    2022-04-04
  • springboot如何使用mongo做日志存儲(chǔ)

    springboot如何使用mongo做日志存儲(chǔ)

    這篇文章主要介紹了springboot如何使用mongo做日志存儲(chǔ)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2025-06-06
  • spring之SpEL表達(dá)式詳解

    spring之SpEL表達(dá)式詳解

    這篇文章主要介紹了spring之SpEL表達(dá)式詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-02-02
  • JAVA線(xiàn)程池專(zhuān)題(概念和作用)

    JAVA線(xiàn)程池專(zhuān)題(概念和作用)

    這篇文章主要介紹了Java線(xiàn)程池的概念和作用,文中講解非常詳細(xì),代碼幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下
    2020-06-06
  • Java8中常見(jiàn)函數(shù)式接口的使用示例詳解

    Java8中常見(jiàn)函數(shù)式接口的使用示例詳解

    在 Java 8 中,函數(shù)式接口是一個(gè)關(guān)鍵的特性,它們?cè)试S將方法作為參數(shù)傳遞或返回類(lèi)型,本文為大家整理了一些常見(jiàn)的函數(shù)式接口的使用,希望對(duì)大家有所幫助
    2023-12-12
  • Java使用重入鎖實(shí)現(xiàn)線(xiàn)程同步的示例代碼

    Java使用重入鎖實(shí)現(xiàn)線(xiàn)程同步的示例代碼

    在多線(xiàn)程環(huán)境中,為保證對(duì)共享資源的安全訪問(wèn),常用的同步手段是 synchronized 關(guān)鍵字,但 synchronized 存在局限,本項(xiàng)目旨在通過(guò)示例演示如何使用 ReentrantLock 實(shí)現(xiàn)線(xiàn)程同步,替代 synchronized,并展示其高級(jí)功能,需要的朋友可以參考下
    2025-07-07
  • SpringCloud-Gateway轉(zhuǎn)發(fā)WebSocket失敗問(wèn)題及解決

    SpringCloud-Gateway轉(zhuǎn)發(fā)WebSocket失敗問(wèn)題及解決

    這篇文章主要介紹了SpringCloud-Gateway轉(zhuǎn)發(fā)WebSocket失敗問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • jmeter中json提取器如何提取多個(gè)參數(shù)值

    jmeter中json提取器如何提取多個(gè)參數(shù)值

    關(guān)于jmeter中的正則表達(dá)式及json提取器可以提取響應(yīng)值,但是實(shí)際可以需要上個(gè)接口的多個(gè)響應(yīng)值,本文就詳細(xì)的介紹一下如何使用,感興趣的可以了解一下
    2021-11-11

最新評(píng)論

涟水县| 阜南县| 碌曲县| 西乌珠穆沁旗| 天祝| 井陉县| 乡城县| 扬中市| 雷山县| 九龙坡区| 陇川县| 汝南县| 关岭| 台湾省| 商丘市| 新沂市| 湘乡市| 景谷| 姜堰市| 治县。| 井研县| 额尔古纳市| 石林| 社会| 清徐县| 莱州市| 福州市| 剑阁县| 枞阳县| 桃源县| 咸丰县| 启东市| 莎车县| 岳普湖县| 叙永县| 洞口县| 江都市| 博客| 竹山县| 赤城县| 无极县|