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、创建Map Map<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); } }
-
测试结果