BeanUtils

1.BeanUtils相关的知识点

1.1 概述

在这里插入图片描述
BeanUtils是Apache Commons组件的成员之一,主要用于简化JavaBean封装数据的操作。常用的操作有以下三个:

  1. 对JavaBean的属性进行赋值和取值。
  2. 将一个JavaBean所有属性赋值给另一个JavaBean对象中。
  3. 将一个Map集合的数据封装到一个JavaBean对象中。

1.2JavaBean

JavaBean就是一个类,但该类需要满足以下四个条件:

  1. 类必须使用public修饰。
  2. 提供无参数的构造器。
  3. 提供公共getter和setter方法访问属性。
  4. 实现序列化接口(一般没写)

JavaBean的两个重要概念

字段:就是成员变量,字段名就是成员变量名。

属性:属性名通过setter/getter方法去掉set/get前缀,首字母小写获得。

一般情况下 , 字段和属性一致

1.3 BeanUtils常见的方法

  • public static void populate(Object bean, Map<String, ? extends Object> properties);

将一个Map集合中的数据封装到指定对象bean中(注意:对象bean的属性名和Map集合中键要相同)

1.4 BeanUtils的使用

把map的数据封装到JavaBean里面

  • User.java

public class User implements Serializable{

    // 姓名
    private String name;
    // 性别
    private String gender;
    // 地址
    private String address;
    // 年龄
    private int age;



    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getGender() {
        return gender;
    }

    public void setGender(String gender) {
        this.gender = gender;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    @Override
    public String toString() {
        return "User{" +
                "name='" + name + '\'' +
                ", gender='" + gender + '\'' +
                ", address='" + address + '\'' +
                ", age=" + age +
                '}';
    }
}
  • BeanUtilsDemo.java
public class BeanUtilsDemo {

    //使用BeanUtils把Map里面的数据封装到JavaBean
    //要求: Map里面的key必须和JavaBean属性一致
    public static void main(String[] args) throws InvocationTargetException, IllegalAccessException {

        User user = new User();

        Map<Object,Object> map =  new HashMap<Object,Object>();
        map.put("name01","张三");
        map.put("gender","男");
        map.put("address","北京");
        map.put("age",18);

        BeanUtils.populate(user,map);
        System.out.println(user);
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值