BeanUtils.copyProperties()方法记录

我们如果有两个具有很多相同属性的JavaBean

一个oldBean,一个newBean

现在需要将newBean里面相同属性的值赋给oldBean

老办法是:

oldBean.setName(newBean.getName);

这样一个属性一个属性的赋值,代码量大,很繁琐。

那么可以通过BeanUtils提供的copyProperties()方法实现。

OldUser

@Data
@NoArgsConstructor
@AllArgsConstructor
public class OldUser {
    private String name;
    private Integer age;
}

NewUser

@Data
@NoArgsConstructor
@AllArgsConstructor
public class NewUser {
    private String name;
    private String sex;
}

实现:

复制代码
import com.test.test.vo.NewUser;
import com.test.test.vo.OldUser;
import org.apache.commons.beanutils.BeanUtils;
import java.lang.reflect.InvocationTargetException;

public class testCopyProperties {
    public static void main(String[] args) throws InvocationTargetException, IllegalAccessException {
        OldUser oldUser = new OldUser("zhangsan", 22);
        NewUser newUser = new NewUser("lisi", "男");
        System.out.println("oldUser:"+oldUser);
        System.out.println("newUser:"+newUser);
        BeanUtils.copyProperties(oldUser, newUser);
        System.out.println("转换后oldUser:"+oldUser);
        System.out.println("转换后newUser:"+newUser);
    }
}
复制代码

注意,导包是   import org.apache.commons.beanutils.BeanUtils;

结果:

转换前:
oldUser:OldUser(name=zhangsan, age=22)
newUser:NewUser(name=lisi, sex=男)

转换后oldUser:OldUser(name=lisi, age=22)
转换后newUser:NewUser(name=lisi, sex=男)

 

 

 
posted @   巴啦啦小花总  阅读(29)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示