BeanUtils工具类
一、简介
BeanUtils 是 Apache commons组件的成员之一,主要用于简化JavaBean封装数据的操作。可以将一个表单提交的所有数据封装到JavaBean中。
二、pom依赖
<dependency><groupId>commons-beanutils</groupId><artifactId>commons-beanutils</artifactId><version>1.8.3</version>
</dependency>
三、主要api接口
方法 | 描述 |
---|---|
populate(Object bean, Map properties) | 将Map数据封装到指定Javabean中, 一般用于将表单的所有数据封装到javabean |
setProperty(Object obj,String name,Object value) | 设置属性值 |
getProperty(Object obj,String name) | 获得属性值 |
四、BeanUtils 代码演示
-
javabean
import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor;@Data @AllArgsConstructor @NoArgsConstructor public class Person {private String name;private int age; }
-
使用代码
import org.apache.commons.beanutils.BeanUtils;import java.lang.reflect.InvocationTargetException; import java.util.HashMap; import java.util.Map;public class BeanUtilsTest {public static void main(String[] args) throws InvocationTargetException, IllegalAccessException, NoSuchMethodException {//1、创建Person对象Person p = new Person();//2、创建MapMap<String, Object> map = new HashMap<>();//3、map中放入数据,key和Person的成员属性名一致,value要保证数据类型一致map.put("name", "张三");map.put("age", 18);//4、map的数据封装到Person中BeanUtils.populate(p, map);System.out.println("map转换的bean:" + p);//设置属性BeanUtils.setProperty(p, "name", "李四");//获取属性String name = BeanUtils.getProperty(p, "name");System.out.println("修改后的name:" + name);} }
-
测试结果