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=男)
    }

 

 

你可能感兴趣的:(spring,spring,java,工具类)