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

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

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

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

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

/**
     * 對象屬性拷貝 <br>
     * 將源對象的屬性拷貝到目標(biāo)對象
     *
     * @param source 源對象
     * @param target 目標(biāo)對象
     */
    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集合之間的對象屬性賦值

/**
     * @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;
    }

比如有兩個類,User和Employee,將存儲Employee對象的List賦給存儲User對象的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 + '\'' +
                '}';
    }
}

測試類:

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

相關(guān)文章

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

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

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

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

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

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

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

    springboot如何使用mongo做日志存儲

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

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

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

    JAVA線程池專題(概念和作用)

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

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

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

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

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

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

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

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

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

最新評論

甘德县| 通海县| 黄龙县| 利川市| 出国| 青海省| 杨浦区| 德格县| 贺州市| 万载县| 浦城县| 巴楚县| 西宁市| 白沙| 彰武县| 冕宁县| 西乌珠穆沁旗| 顺义区| 来凤县| 当涂县| 申扎县| 四平市| 荆州市| 融水| 琼中| 应城市| 德清县| 元阳县| 廉江市| 郑州市| 寿阳县| 游戏| 祁东县| 宝清县| 长白| 乐平市| 综艺| 县级市| 喀喇沁旗| 德令哈市| 二连浩特市|