JavaWeb BeanUtils 工具类数据的封装和抽取

一、BeanUtils 工具类使用原因

简单用户登录案例中,当从浏览器接收参数后,还需要创建 JavaBean 类,对其的属性每一项赋值,如果属性少,可以手动完成,但是当属性非常多,这时就发现重复代码很多,如何简化代码量就可以使用封装 JavaBean 的工具类来实现。

二、BeanUtils 概述

BeanUtils 是apach提供的一套专门用于将一些数据封装到java对象中的工具类;

BeanUtils 是 Apache 提供的一个jar 包,使用时需要导入两个 jar 包。

commons-beanutils-1.8.0jar
commons-logging-1.1-.1.jar

注意:对于封装的数据必须是标准的 JavaBean 类

JavaBean :标准的Java类

要求:
① 类必须被 public 修饰 
② 必须提供空参的构造器
③ 成员变量必须使用 private 修饰
④ 提供公共的 setter 和 getter 方法。

功能:封装数据。

在使用 BeanUtils 这个工具类,先来了解JavaBean中的成员变量和属性。

JavaBean的成员变量:就是JavaBean中用private 修饰的变量。
JavaBean的属性:setter 和 getter 方法截取后的产物。
如: getUsername() --> Username --> username(属性)

三、BeanUtild使用

在这里插入图片描述
使用步骤

1.先获取到表单的数据 request.getParameterMap();
2.创建要封装数据的JavaBean User user = new User();
3使用BeanUtils工具类封装数据 BeanUtils.populate(user, map);

四、BeanUtils 常用方法

1. setProperty()   根据属性来设置 JavaBean 的属性值
2. getProperty()	根据属性来获取 JavaBean 的属性值
3. populate(Object obj , Map map):将map集合的键值对信息,封装到对应的JavaBean对象中

测试类之前需有javaBean标准类

public class BeanUtils {
    @Test
    public void util(){
        User user=new User();
        try {
            //向bean对象的name属性中保存value值;
            org.apache.commons.beanutils.BeanUtils.setProperty(user,"username","root");
            System.out.println(user);//User{id=0, username='root', password='null'}
            //从bean对象中获取name属性的数组类型的值;
           	org.apache.commons.beanutils.BeanUtils.getProperty(user,"username");
            System.out.println(user);//User{id=0, username='root', password='null'}
        } catch (IllegalAccessException e) {
            e.printStackTrace();
        } catch (InvocationTargetException e) {
            e.printStackTrace();
        } catch (NoSuchMethodException e) {
            e.printStackTrace();
        }
    }
}

在这里插入图片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章