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();
        }
    }
}

在這裏插入圖片描述

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