Kopieren Sie bestimmte Felder mithilfe von BeanUtils.copyProperties?

springframework.beans.BeanUtils ist sehr nützlich zum kopieren von Objekten, und ich benutze die "ignoreProperties" option Häufig. Aber manchmal möchte ich das kopieren nur bestimmte Objekte (im Grunde das Gegenteil von "ignorieren " Eigenschaften"). Weiß jemand, wie kann ich das machen? Jede Hilfe wird geschätzt.

import org.springframework.beans.BeanUtils;

public class Sample {    
    public static void main(String[] args) {    
        DemoADto demoADto = new DemoADto();
        demoADto.setName("Name of Demo A");
        demoADto.setAddress("Address of Demo A");

        DemoBDto demoBDto = new DemoBDto();

        //This is "ignoreProperties" option
        //But I want to know how I can copy only name field by using BeanUtils or something.
        BeanUtils.copyProperties(demoADto, demoBDto, new String[] {"address"});

        System.out.println(demoBDto.getName());
        System.out.println(demoBDto.getAddress());    
    }    
}

public class DemoADto {    
    private String name;    
    private String address;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }    
}

public class DemoBDto {    
    private String name;    
    private String address;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }    
}

InformationsquelleAutor der Frage zono | 2011-02-22

Schreibe einen Kommentar