Spring 的 BeanUtils 工具类

场景:前端通过POST提交一个JSON格式的字符串,比如里面的数据设计到的表有多个,我们需要创建一个实体类对涉及这多个表属性去进行接收。接收到以后,我们又需要通过这个对象获取相对应的值分别赋值到实体类中,对于大部分患有懒癌晚期程序员来说这是不可容忍的,所以我们就可以通过一些工具类来完成。

选择: Apache 的 BeanUtils 工具类 和 Spring 的 BeanUtils 工具类。

https://www.jianshu.com/p/f52f00f949b7 这篇博客中提到。Apache的 BeanUitls 的对象拷贝 copyProperties 方法 效率很慢,阿里编码规范也提到尽量不要使用的该方法,所以可以使用 Spring 所提供的的 BeanUtils 的对象拷贝

对应的类需要实现geter seter 方法

举个栗子

实体类1

@Data
@AllArgsConstructor
@NoArgsConstructor
public class UserInfo {
    private Integer id;
    private String name;
    private Character gender;
    private String address;
    private Integer age;
}

实体类2

@Data
@AllArgsConstructor
@NoArgsConstructor
public class User {
    private Integer id;
    private String name;
    private Character gender;
}

测试

    @Test
    public void test(){
        UserInfo userInfo = new UserInfo(1,"田坤",'男',"陕西西安",22);
        User user = new User();
        BeanUtils.copyProperties(userInfo,user);
        System.out.println(user);   // User(id=1, name=田坤, gender=男)
    }

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值