• beanutil常用的方法


    Apache Common BeanUtil是一个常用的在对象之间复制数据的工具类,著名的web开发框架struts就是依赖于它进行ActionForm的创建。

        BeanUtil最常用的类是org.apache.commons.beanutils.BeanUtils。
    
        BeanUtils最常用的方法为:
    
        1.   public void copyProperties(java.lang.Object dest, java.lang.Object orig)
     把orig中的值copy到dest中.
    
        2.   public java.util.Map describe(java.lang.Object bean)
     把Bean的属性值放入到一个Map里面。
    
        3.   public void populate(java.lang.Object bean, java.util.Map properties)
     把properties里面的值放入bean中。
    
        4.   public void setProperty(java.lang.Object bean, java.lang.String name, java.lang.Object value)
     设置Bean对象的名称为name的property的值为value.
    
        5.   public String getProperty(java.lang.Object bean, java.lang.String name)
    
               取得bean对象中名为name的属性的值。
    
        详细的使用方法可以参见官方网站:
    
        http://jakarta.apache.org/commons/beanutils/
    
    
    

    Apache Common BeanUtil的常见使用场景

    <!--[if !supportLists]-->1.     <!--[endif]-->同类之间不同对象要求进行数据复制。
    
    
    User user1 = …;
    User user2 = …;
    BeanUtils. copyProperties(user2,user1);
    <!--[if !supportLists]-->2.     <!--[endif]-->不同类不同对象之间的数据复制。
    
    
    UserForm userForm = …;
    User user = …;
    BeanUtils. copyProperties(user, userForm);
    相信经常使用struts的人,一定会很熟悉上面的代码。
    这是一个典型把页面的value object数据复制到domain object的例子。
    
    <!--[if !supportLists]-->3.     <!--[endif]-->对象数据和Map之间互相转化。
    
    User user = …;
    Map userMap = BeanUtils.describe(user);
    Map userMap = …;
    User user = …;
    BeanUtils.populate(user,userMap);
         Map可以看成一个动态数据容器,作为VO很适合在不同层之间传播数据,作为PO也可以动态存储字段信息,
    合理运用可以减少程序很多修改和维护工作。所以让bean和map之间方便的进行数据填充,非常必要。
    
  • 相关阅读:
    android音乐播放器开发 SweetMusicPlayer 摇一摇换歌
    kernel logo到开机动画之间闪现黑屏(android 5.X)
    [DLX反复覆盖] hdu 3656 Fire station
    使用清华源 tensorflow 安装
    类别不平衡问题之SMOTE算法(Python imblearn极简实现)
    在Ubuntu 18.04上安装OpenCV 4(C ++和Python)
    OpenCV
    git clone速度太慢的解决办法
    OpenCV 3.4.2 环境搭建(适用于Ubuntu 一键安装)
    ubuntu16.04安装opencv3.4.1教程
  • 原文地址:https://www.cnblogs.com/myjava1/p/7718002.html
Copyright © 2020-2023  润新知