spring的对象属性相同(类型,名字)拷贝

A类:

package test;

/**
 * Created by gmq on 2015/12/4.
 */
public class A
{
    private String aa;
    private Long bb;
    private Integer cc;

    public Integer getCc()
    {
        return cc;
    }

    public void setCc(Integer cc)
    {
        this.cc = cc;
    }

    public String getAa()
    {
        return aa;
    }

    public void setAa(String aa)
    {
        this.aa = aa;
    }

    public Long getBb()
    {
        return bb;
    }

    public void setBb(Long bb)
    {
        this.bb = bb;
    }
}

B类:

package test;

/**
 * Created by gmq on 2015/12/4.
 */
public class B
{
    private String aa;
    private Long bb;
    private String cc;

    public String getAa()
    {
        return aa;
    }

    public void setAa(String aa)
    {
        this.aa = aa;
    }

    public Long getBb()
    {
        return bb;
    }

    public void setBb(Long bb)
    {
        this.bb = bb;
    }

    public String getCc()
    {
        return cc;
    }

    public void setCc(String cc)
    {
        this.cc = cc;
    }
}

测试类:

package test;

import com.banksteel.erp.dto.inventory.allot.InventoryItemDto;
import com.banksteel.erp.inventory.entity.inventory.InventoryItem;
import com.github.pagehelper.PageInfo;
import org.springframework.beans.BeanUtils;

import java.util.ArrayList;
import java.util.List;

/**
 * Created by gmq on 2015/12/4.
 */
public class TestUtil
{
    public static void main(String args[])
    {
        A a = new A();

        a.setAa("test");
        a.setBb(11L);
        a.setCc(2);

        B b = new B();
        BeanUtils.copyProperties(a, b);

        System.out.println(a.getAa() + " " + a + " " + a.getBb() + ", c: " + a.getCc());
        System.out.println(b.getAa() + " " + b + " " + b.getBb()+ ", c: " + b.getCc());

//        InventoryItem item = new InventoryItem();
//        item.setStatus(11);
//        item.setItemCode("gmq");
//
//        InventoryItemDto dto = new InventoryItemDto();
//        BeanUtils.copyProperties(item, dto);
//        System.out.println(item.getStatus() + " " + " " + item.getItemCode());
//        System.out.println(dto.getStatus() + " " + " " + dto.getItemCode());

//        PageInfo<InventoryItemDto> dtoPage = new PageInfo<>();
//        PageInfo<InventoryItem> itemPage = new PageInfo<>();
//        List<InventoryItem> items = new ArrayList<>();
//        InventoryItem item = new InventoryItem();
//        item.setId(123L);
//        items.add(item);
////        itemPage.setList(items);
//        itemPage.setList(null);
//        itemPage.setPageSize(100);
//        BeanUtils.copyProperties(itemPage, dtoPage);
//        System.err.println(dtoPage);

    }
}

以上

时间: 2025-01-03 17:11:16

spring的对象属性相同(类型,名字)拷贝的相关文章

JavaScript对象 属性

JavaScript对象 属性 除了包含名字和值外,属性还包含了一些他们可写.可枚举.可配置的特性.JavaScript中包含两种属性:数据属性和访问器属性. 数据属性: configurable:表示能否通过delete删除属性从而重新定义属性,能否修改属性的特性,或者能把属性改成访问器属性. enumerable:表示能否通过for-in循环返回属性. writable:表示能否修改属性的值. value:包含这个属性的数据值. 要修改属性默认的特性,使用Object.definePrope

对象属性拷贝工具类的性能比较

一.对象属性拷贝工具类 ”天下武功,唯快不破“.在互联网行业中体现的更加淋淋尽致.我们在业务系统会经常遇到业务对象间属性的拷贝,对如外接口一般都使用特定的DTO对象,而不会使用领域模型,以避免两者的变动互相影响.我们不仅要关注“快”,还要注重CPU的稳定即避免CPU使用的大起大落现象.如何高效完成属性的拷贝并降低对CPU的使用率或避免CPU的抖动. 相关博文已经有很多,为什么还要自己在一篇类似的哪?原因有二:一是加深理解二是比较各自优劣.目前对象间属性的拷贝常用的方法大致如下: 手动拷贝(set

你还在用BeanUtils进行对象属性拷贝?

一.背景 1.1 对象拷贝概念 Java中,数据类型分为值类型(基本数据类型)和引用类型,值类型包括int.double.byte.boolean.char等简单数据类型,引用类型包括类.接口.数组等复杂类型. 对象拷贝分为浅拷贝(浅克隆)与深拷贝(深克隆). 浅拷贝与深拷贝差异 1.2 示例前准备 源对象属性类UserDO.class(以下示例,源对象都用这个) @Datapublic class UserDO { private int id; private String userName

Spring如何装配各种集合类型的属性

在前面我们已经会注入基本类型对象和其他bean,现在我们就来学习如何注入各种集合类型. Spring如何装配各种集合类型的属性 首先新建一个普通的Java Project,名称为spring_collection,并迅速搭建好Spring的开发环境. 接着在src目录下新建一个cn.itcast.service包,并在该包下创建PersonService接口,其代码为: public interface PersonService { Set<String> getSets(); List&l

【初识Spring】对象(Bean)实例化及属性注入(xml方式)

title: [初识Spring]对象(Bean)实例化及属性注入(xml方式) date: 2018-08-29 17:35:15 tags: [Java,Web,Spring] --- ?#初识Spring之Bean实例化及属性注入 1.通过xml配置的方式进行实例化. 配置文件中bean标签的常用属性 通过无参构造(常用) 使用静态工厂进行创建 使用实例工厂进行创建 2.属性注入. 使用有参数构造方法注入属性 使用set方法注入属性(常用) 注入对象类型属性 注入复杂类型属性 xml配置的

spring学习——注入静态对象属性

spring注入静态对象属性时,因为虚拟机类加载问题,直接在属性上使用@Autowired 是不可以的.需要在属性对应的set方法上@Autowired,并且,set方法不能定义为static. 1.创建静态对象属性对应的类 package com.bluej.springj.service.impl; import org.springframework.stereotype.Service; import com.bluej.springj.service.LogService; @Serv

拷贝对象属性

        /**  * 拷贝属性到目标对象,如果为空不拷贝,目标对象属性有值,则不拷贝该属性  *   * @param source  *            待拷贝属性的对象  * @param target  *            目标对象  * @throws BeansException  */ public static void copyPropertiesExclude(Object source, Object target) throws BeansExcepti

Spring MVC传输对象属性

今天搬砖时遇到一个问题,前端使用JSP+form传输数据,后台使用Spring MVC接收,但是接收到的对象属性一直是null,找了好久才发现原因,代码如下 前端代码 后端代码 需要注意一点 User对象属性需要与表单中name属性中一致(不是id属性,之前接收到的一直为null就是由于只写了id,为预防错误最好id和name都写上且为同一值) 原文地址:https://www.cnblogs.com/lovetq520/p/11655750.html

C# 取得对象属性类型

1.对象 Object obj; 2.对象属性 Type postType = obj.GetType(); PropertyInfo[] postTypeInfos = postType.GetProperties(); 3.对象属性类型 foreach (PropertyInfo p in postTypeInfos)       {  if (p.PropertyType.FullName == typeof(DateTime).FullName)  {    Object pValue