本文介绍了如何使用BeanUtils.copyProperties?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图将属性从一个bean复制到另一个.这是两个bean的签名:

I am trying to copy properties from one bean to another. Here are the signature of two beans:

SearchContent:

SearchContent:

public class SearchContent implements Serializable {

    private static final long serialVersionUID = -4500094586165758427L;

    private Integer id;
    private String docName;
    private String docType;
    private String docTitle;
    private String docAuthor;
    private String securityGroup;
    private String docAccount;
    private Integer revLabel;

    private String profile;
    private LabelValueBean<String> workflowStage;

    private Date createDate;
    private Date inDate;

    private String originalName;
    private String format;
    private String extension;
    private Long fileSize;

    private String author;

    private LabelValueBean<String> entity;
    private LabelValueBean<String> brand;
    private LabelValueBean<String> product;
    private LabelValueBean<String> collection;
    private LabelValueBean<String> subCollection;

    private String description;
    private LabelValueBean<String> program;
    private String vintage;
    private String model;
    private String restrictedZone;
    private LabelValueBean<String> event;
    private LabelValueBean<String> language;
    private String geographicLocation;
    private String watermark;
    private Integer pageNumber;
    private String summary;
    private String agentName;
    private String commissionedByName;
    private String commissionedByDepartment;
    private LabelValueBean<Integer> bestOf;
    private String mediaLocation;

    private LabelValueBean<Integer> fullRights;
    private LabelValueBean<String> mediaUsage;
    private Date rightsEndDate;
    private String geographicRights;
    private LabelValueBean<Integer> evinConformity;
    private String contactReference;
    private LabelValueBean<String> publicationScope;
    private String rightsComment;

    /**
     * Constructor SearchContent
     * @author TapasB
     * @since 15-Oct-2013 - 5:45:55 pm
     * @version DAM 1.0
     */
    public SearchContent() {

    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getDocName() {
        return docName;
    }

    public void setDocName(String docName) {
        this.docName = docName;
    }

    public String getDocType() {
        return docType;
    }

    public void setDocType(String docType) {
        this.docType = docType;
    }

    public String getDocTitle() {
        return docTitle;
    }

    public void setDocTitle(String docTitle) {
        this.docTitle = docTitle;
    }

    public String getDocAuthor() {
        return docAuthor;
    }

    public void setDocAuthor(String docAuthor) {
        this.docAuthor = docAuthor;
    }

    public String getSecurityGroup() {
        return securityGroup;
    }

    public void setSecurityGroup(String securityGroup) {
        this.securityGroup = securityGroup;
    }

    public String getDocAccount() {
        return docAccount;
    }

    public void setDocAccount(String docAccount) {
        this.docAccount = docAccount;
    }

    public Integer getRevLabel() {
        return revLabel;
    }

    public void setRevLabel(Integer revLabel) {
        this.revLabel = revLabel;
    }

    public String getProfile() {
        return profile;
    }

    public void setProfile(String profile) {
        this.profile = profile;
    }

    public LabelValueBean<String> getWorkflowStage() {
        return workflowStage;
    }

    public void setWorkflowStage(LabelValueBean<String> workflowStage) {
        this.workflowStage = workflowStage;
    }

    public Date getCreateDate() {
        return createDate;
    }

    public void setCreateDate(Date createDate) {
        this.createDate = createDate;
    }

    public Date getInDate() {
        return inDate;
    }

    public void setInDate(Date inDate) {
        this.inDate = inDate;
    }

    public String getOriginalName() {
        return originalName;
    }

    public void setOriginalName(String originalName) {
        this.originalName = originalName;
    }

    public String getFormat() {
        return format;
    }

    public void setFormat(String format) {
        this.format = format;
    }

    public String getExtension() {
        return extension;
    }

    public void setExtension(String extension) {
        this.extension = extension;
    }

    public Long getFileSize() {
        return fileSize;
    }

    public void setFileSize(Long fileSize) {
        this.fileSize = fileSize;
    }

    public String getAuthor() {
        return author;
    }

    public void setAuthor(String author) {
        this.author = author;
    }

    public LabelValueBean<String> getEntity() {
        return entity;
    }

    public void setEntity(LabelValueBean<String> entity) {
        this.entity = entity;
    }

    public LabelValueBean<String> getBrand() {
        return brand;
    }

    public void setBrand(LabelValueBean<String> brand) {
        this.brand = brand;
    }

    public LabelValueBean<String> getProduct() {
        return product;
    }

    public void setProduct(LabelValueBean<String> product) {
        this.product = product;
    }

    public LabelValueBean<String> getCollection() {
        return collection;
    }

    public void setCollection(LabelValueBean<String> collection) {
        this.collection = collection;
    }

    public LabelValueBean<String> getSubCollection() {
        return subCollection;
    }

    public void setSubCollection(LabelValueBean<String> subCollection) {
        this.subCollection = subCollection;
    }

    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    public LabelValueBean<String> getProgram() {
        return program;
    }

    public void setProgram(LabelValueBean<String> program) {
        this.program = program;
    }

    public String getVintage() {
        return vintage;
    }

    public void setVintage(String vintage) {
        this.vintage = vintage;
    }

    public String getModel() {
        return model;
    }

    public void setModel(String model) {
        this.model = model;
    }

    public String getRestrictedZone() {
        return restrictedZone;
    }

    public void setRestrictedZone(String restrictedZone) {
        this.restrictedZone = restrictedZone;
    }

    public LabelValueBean<String> getEvent() {
        return event;
    }

    public void setEvent(LabelValueBean<String> event) {
        this.event = event;
    }

    public LabelValueBean<String> getLanguage() {
        return language;
    }

    public void setLanguage(LabelValueBean<String> language) {
        this.language = language;
    }

    public String getGeographicLocation() {
        return geographicLocation;
    }

    public void setGeographicLocation(String geographicLocation) {
        this.geographicLocation = geographicLocation;
    }

    public String getWatermark() {
        return watermark;
    }

    public void setWatermark(String watermark) {
        this.watermark = watermark;
    }

    public Integer getPageNumber() {
        return pageNumber;
    }

    public void setPageNumber(Integer pageNumber) {
        this.pageNumber = pageNumber;
    }

    public String getSummary() {
        return summary;
    }

    public void setSummary(String summary) {
        this.summary = summary;
    }

    public String getAgentName() {
        return agentName;
    }

    public void setAgentName(String agentName) {
        this.agentName = agentName;
    }

    public String getCommissionedByName() {
        return commissionedByName;
    }

    public void setCommissionedByName(String commissionedByName) {
        this.commissionedByName = commissionedByName;
    }

    public String getCommissionedByDepartment() {
        return commissionedByDepartment;
    }

    public void setCommissionedByDepartment(String commissionedByDepartment) {
        this.commissionedByDepartment = commissionedByDepartment;
    }

    public LabelValueBean<Integer> getBestOf() {
        return bestOf;
    }

    public void setBestOf(LabelValueBean<Integer> bestOf) {
        this.bestOf = bestOf;
    }

    public String getMediaLocation() {
        return mediaLocation;
    }

    public void setMediaLocation(String mediaLocation) {
        this.mediaLocation = mediaLocation;
    }

    public LabelValueBean<Integer> getFullRights() {
        return fullRights;
    }

    public void setFullRights(LabelValueBean<Integer> fullRights) {
        this.fullRights = fullRights;
    }

    public LabelValueBean<String> getMediaUsage() {
        return mediaUsage;
    }

    public void setMediaUsage(LabelValueBean<String> mediaUsage) {
        this.mediaUsage = mediaUsage;
    }

    public Date getRightsEndDate() {
        return rightsEndDate;
    }

    public void setRightsEndDate(Date rightsEndDate) {
        this.rightsEndDate = rightsEndDate;
    }

    public String getGeographicRights() {
        return geographicRights;
    }

    public void setGeographicRights(String geographicRights) {
        this.geographicRights = geographicRights;
    }

    public LabelValueBean<Integer> getEvinConformity() {
        return evinConformity;
    }

    public void setEvinConformity(LabelValueBean<Integer> evinConformity) {
        this.evinConformity = evinConformity;
    }

    public String getContactReference() {
        return contactReference;
    }

    public void setContactReference(String contactReference) {
        this.contactReference = contactReference;
    }

    public LabelValueBean<String> getPublicationScope() {
        return publicationScope;
    }

    public void setPublicationScope(LabelValueBean<String> publicationScope) {
        this.publicationScope = publicationScope;
    }

    public String getRightsComment() {
        return rightsComment;
    }

    public void setRightsComment(String rightsComment) {
        this.rightsComment = rightsComment;
    }
}

Content:

And Content:

public class Content implements Serializable {

    private static final long serialVersionUID = 2999449587418137835L;

    private Boolean selected;
    private Boolean renditionInfoFetched;

    private String searchPageImageRendition;
    private String detailPageImageRendition;

    private String videoRendition;

    private Integer id;
    private String docName;
    private String docType;
    private String docTitle;
    private String docAuthor;
    private String securityGroup;
    private String docAccount;
    private Integer revLabel;
    private String profile;

    private Date createDate;
    private Date inDate;

    private String originalName;
    private String format;
    private String extension;
    private Long fileSize;

    private String author;

    private LabelValueBean<String> entity;
    private LabelValueBean<String> brand;
    private LabelValueBean<String> product;
    private LabelValueBean<String> collection;
    private LabelValueBean<String> subCollection;

    private String description;
    private LabelValueBean<String> program;
    private String vintage;
    private String model;
    private String restrictedZone;
    private LabelValueBean<String> event;
    private LabelValueBean<String> language;
    private String geographicLocation;
    private String watermark;
    private Integer pageNumber;
    private String summary;
    private String agentName;
    private String commissionedByName;
    private String commissionedByDepartment;
    private LabelValueBean<Integer> bestOf;
    private String mediaLocation;

    private LabelValueBean<Integer> fullRights;
    private LabelValueBean<String> mediaUsage;
    private Date rightsEndDate;
    private String geographicRights;
    private LabelValueBean<Integer> evinConformity;
    private String contactReference;
    private LabelValueBean<String> publicationScope;
    private String rightsComment;

    public Boolean getSelected() {
        return selected;
    }

    public void setSelected(Boolean selected) {
        this.selected = selected;
    }

    public Boolean getRenditionInfoFetched() {
        return renditionInfoFetched;
    }

    public void setRenditionInfoFetched(Boolean renditionInfoFetched) {
        this.renditionInfoFetched = renditionInfoFetched;
    }

    public String getSearchPageImageRendition() {
        return searchPageImageRendition;
    }

    public void setSearchPageImageRendition(String searchPageImageRendition) {
        this.searchPageImageRendition = searchPageImageRendition;
    }

    public String getDetailPageImageRendition() {
        return detailPageImageRendition;
    }

    public void setDetailPageImageRendition(String detailPageImageRendition) {
        this.detailPageImageRendition = detailPageImageRendition;
    }

    public String getVideoRendition() {
        return videoRendition;
    }

    public void setVideoRendition(String videoRendition) {
        this.videoRendition = videoRendition;
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getDocName() {
        return docName;
    }

    public void setDocName(String docName) {
        this.docName = docName;
    }

    public String getDocType() {
        return docType;
    }

    public void setDocType(String docType) {
        this.docType = docType;
    }

    public String getDocTitle() {
        return docTitle;
    }

    public void setDocTitle(String docTitle) {
        this.docTitle = docTitle;
    }

    public String getDocAuthor() {
        return docAuthor;
    }

    public void setDocAuthor(String docAuthor) {
        this.docAuthor = docAuthor;
    }

    public String getSecurityGroup() {
        return securityGroup;
    }

    public void setSecurityGroup(String securityGroup) {
        this.securityGroup = securityGroup;
    }

    public String getDocAccount() {
        return docAccount;
    }

    public void setDocAccount(String docAccount) {
        this.docAccount = docAccount;
    }

    public Integer getRevLabel() {
        return revLabel;
    }

    public void setRevLabel(Integer revLabel) {
        this.revLabel = revLabel;
    }

    public String getProfile() {
        return profile;
    }

    public void setProfile(String profile) {
        this.profile = profile;
    }

    public Date getCreateDate() {
        return createDate;
    }

    public void setCreateDate(Date createDate) {
        this.createDate = createDate;
    }

    public Date getInDate() {
        return inDate;
    }

    public void setInDate(Date inDate) {
        this.inDate = inDate;
    }

    public String getOriginalName() {
        return originalName;
    }

    public void setOriginalName(String originalName) {
        this.originalName = originalName;
    }

    public String getFormat() {
        return format;
    }

    public void setFormat(String format) {
        this.format = format;
    }

    public String getExtension() {
        return extension;
    }

    public void setExtension(String extension) {
        this.extension = extension;
    }

    public Long getFileSize() {
        return fileSize;
    }

    public void setFileSize(Long fileSize) {
        this.fileSize = fileSize;
    }

    public String getAuthor() {
        return author;
    }

    public void setAuthor(String author) {
        this.author = author;
    }

    public LabelValueBean<String> getEntity() {
        return entity;
    }

    public void setEntity(LabelValueBean<String> entity) {
        this.entity = entity;
    }

    public LabelValueBean<String> getBrand() {
        return brand;
    }

    public void setBrand(LabelValueBean<String> brand) {
        this.brand = brand;
    }

    public LabelValueBean<String> getProduct() {
        return product;
    }

    public void setProduct(LabelValueBean<String> product) {
        this.product = product;
    }

    public LabelValueBean<String> getCollection() {
        return collection;
    }

    public void setCollection(LabelValueBean<String> collection) {
        this.collection = collection;
    }

    public LabelValueBean<String> getSubCollection() {
        return subCollection;
    }

    public void setSubCollection(LabelValueBean<String> subCollection) {
        this.subCollection = subCollection;
    }

    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    public LabelValueBean<String> getProgram() {
        return program;
    }

    public void setProgram(LabelValueBean<String> program) {
        this.program = program;
    }

    public String getVintage() {
        return vintage;
    }

    public void setVintage(String vintage) {
        this.vintage = vintage;
    }

    public String getModel() {
        return model;
    }

    public void setModel(String model) {
        this.model = model;
    }

    public String getRestrictedZone() {
        return restrictedZone;
    }

    public void setRestrictedZone(String restrictedZone) {
        this.restrictedZone = restrictedZone;
    }

    public LabelValueBean<String> getEvent() {
        return event;
    }

    public void setEvent(LabelValueBean<String> event) {
        this.event = event;
    }

    public LabelValueBean<String> getLanguage() {
        return language;
    }

    public void setLanguage(LabelValueBean<String> language) {
        this.language = language;
    }

    public String getGeographicLocation() {
        return geographicLocation;
    }

    public void setGeographicLocation(String geographicLocation) {
        this.geographicLocation = geographicLocation;
    }

    public String getWatermark() {
        return watermark;
    }

    public void setWatermark(String watermark) {
        this.watermark = watermark;
    }

    public Integer getPageNumber() {
        return pageNumber;
    }

    public void setPageNumber(Integer pageNumber) {
        this.pageNumber = pageNumber;
    }

    public String getSummary() {
        return summary;
    }

    public void setSummary(String summary) {
        this.summary = summary;
    }

    public String getAgentName() {
        return agentName;
    }

    public void setAgentName(String agentName) {
        this.agentName = agentName;
    }

    public String getCommissionedByName() {
        return commissionedByName;
    }

    public void setCommissionedByName(String commissionedByName) {
        this.commissionedByName = commissionedByName;
    }

    public String getCommissionedByDepartment() {
        return commissionedByDepartment;
    }

    public void setCommissionedByDepartment(String commissionedByDepartment) {
        this.commissionedByDepartment = commissionedByDepartment;
    }

    public LabelValueBean<Integer> getBestOf() {
        return bestOf;
    }

    public void setBestOf(LabelValueBean<Integer> bestOf) {
        this.bestOf = bestOf;
    }

    public String getMediaLocation() {
        return mediaLocation;
    }

    public void setMediaLocation(String mediaLocation) {
        this.mediaLocation = mediaLocation;
    }

    public LabelValueBean<Integer> getFullRights() {
        return fullRights;
    }

    public void setFullRights(LabelValueBean<Integer> fullRights) {
        this.fullRights = fullRights;
    }

    public LabelValueBean<String> getMediaUsage() {
        return mediaUsage;
    }

    public void setMediaUsage(LabelValueBean<String> mediaUsage) {
        this.mediaUsage = mediaUsage;
    }

    public Date getRightsEndDate() {
        return rightsEndDate;
    }

    public void setRightsEndDate(Date rightsEndDate) {
        this.rightsEndDate = rightsEndDate;
    }

    public String getGeographicRights() {
        return geographicRights;
    }

    public void setGeographicRights(String geographicRights) {
        this.geographicRights = geographicRights;
    }

    public LabelValueBean<Integer> getEvinConformity() {
        return evinConformity;
    }

    public void setEvinConformity(LabelValueBean<Integer> evinConformity) {
        this.evinConformity = evinConformity;
    }

    public String getContactReference() {
        return contactReference;
    }

    public void setContactReference(String contactReference) {
        this.contactReference = contactReference;
    }

    public LabelValueBean<String> getPublicationScope() {
        return publicationScope;
    }

    public void setPublicationScope(LabelValueBean<String> publicationScope) {
        this.publicationScope = publicationScope;
    }

    public String getRightsComment() {
        return rightsComment;
    }

    public void setRightsComment(String rightsComment) {
        this.rightsComment = rightsComment;
    }
}

我正尝试将属性从SearchContent复制到Content:

I am trying to copy properties from SearchContent to Content as:

Content content = new Content();
Converter converter = new DateConverter(null);
BeanUtilsBean beanUtilsBean = BeanUtilsBean.getInstance();
beanUtilsBean.getConvertUtils().register(converter, Date.class);
BeanUtils.copyProperties(searchContent, content);

System.out.println(searchContent);
System.out.println(content);

Sysout正在打印:

com.mhis.dam.service.search.bean.SearchContent[id=52906,docName=MHIS043570,docType=Images,docTitle=preview_1_8,docAuthor=sysadmin,securityGroup=Internal,docAccount=WF/017/DAM/000,revLabel=1,profile=DAMMedia,workflowStage=com.mhis.dam.generic.bean.LabelValueBean[label=Published,value=published],createDate=Fri Oct 18 15:30:35 IST 2013,inDate=Fri Oct 18 15:30:35 IST 2013,originalName=Vintage 2004 Gift Box & Bottle Black - hires.jpg,format=image/jpeg,extension=jpg,fileSize=2106898,author=Arjan,entity=com.mhis.dam.generic.bean.LabelValueBean[label=Dom Perignon,value=WF/017/DAM],brand=com.mhis.dam.generic.bean.LabelValueBean[label=Dom Perignon,value=WF/017/DAM/001],product=com.mhis.dam.generic.bean.LabelValueBean[label=Blanc,value=17_1_blanc],collection=com.mhis.dam.generic.bean.LabelValueBean[label=Pack shot,value=pack_shot_dp],subCollection=com.mhis.dam.generic.bean.LabelValueBean[label=Bottle shot,value=ps_bottle_dp],description=preview_1,program=com.mhis.dam.generic.bean.LabelValueBean[label=<null>,value=],vintage=,model=,restrictedZone=,event=com.mhis.dam.generic.bean.LabelValueBean[label=<null>,value=],language=com.mhis.dam.generic.bean.LabelValueBean[label=<null>,value=],geographicLocation=,watermark=,pageNumber=0,summary=,agentName=,commissionedByName=Nicolas,commissionedByDepartment=,bestOf=com.mhis.dam.generic.bean.LabelValueBean[label=<null>,value=0],mediaLocation=,fullRights=com.mhis.dam.generic.bean.LabelValueBean[label=<null>,value=1],mediaUsage=com.mhis.dam.generic.bean.LabelValueBean[label=<null>,value=],rightsEndDate=<null>,geographicRights=,evinConformity=com.mhis.dam.generic.bean.LabelValueBean[label=<null>,value=2],contactReference=,publicationScope=com.mhis.dam.generic.bean.LabelValueBean[label=Full public usage,value=fullPublic],rightsComment=]
com.mhis.dam.web.model.Content[selected=<null>,renditionInfoFetched=<null>,searchPageImageRendition=<null>,detailPageImageRendition=<null>,videoRendition=<null>,id=<null>,docName=<null>,docType=<null>,docTitle=<null>,docAuthor=<null>,securityGroup=<null>,docAccount=<null>,revLabel=<null>,profile=<null>,createDate=<null>,inDate=<null>,originalName=<null>,format=<null>,extension=<null>,fileSize=<null>,author=<null>,entity=<null>,brand=<null>,product=<null>,collection=<null>,subCollection=<null>,description=<null>,program=<null>,vintage=<null>,model=<null>,restrictedZone=<null>,event=<null>,language=<null>,geographicLocation=<null>,watermark=<null>,pageNumber=<null>,summary=<null>,agentName=<null>,commissionedByName=<null>,commissionedByDepartment=<null>,bestOf=<null>,mediaLocation=<null>,fullRights=<null>,mediaUsage=<null>,rightsEndDate=<null>,geographicRights=<null>,evinConformity=<null>,contactReference=<null>,publicationScope=<null>,rightsComment=<null>]

很明显,类ContentselectedrenditionInfoFetched字段具有空值,因为它们不在SearchContent中,但是您可以看到Content的所有其他属性为空.我找不到我在做什么错了!

It is obvious to have null values for selected and renditionInfoFetched fields of the class Content, since they are not present in SearchContent but you can see all the other properties of Content is null. I am unable to find what I am doing wrong!

任何指针都将非常有帮助.

Any pointer would be very helpful.

推荐答案

如果要从searchContent复制到内容,则代码应如下所示

If you want to copy from searchContent to content, then code should be as follows

BeanUtils.copyProperties(content, searchContent);

您需要按照上面的代码反转参数.

You need to reverse the parameters as above in your code.

来自 API

public static void copyProperties(Object dest, Object orig)
                           throws IllegalAccessException,
                                  InvocationTargetException)

参数:

orig-获取其属性的Origin bean

orig - Origin bean whose properties are retrieved

这篇关于如何使用BeanUtils.copyProperties?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-11 07:18