zoukankan      html  css  js  c++  java
  • 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之间方便的进行数据填充,非常必要。
    
  • 相关阅读:
    Java 多线程同步的五种方法
    MySQL中的内连接、左连接、右连接、全连接、交叉连接
    java中线程安全和非线程安全的集合
    hashCode和equal
    MySQL中char、varchar和nvarchar的区别
    MySQL存储引擎
    String在内存中如何存储(Java)
    String、StringBuffer、StringBuilder区别
    MySQL中的事务
    gbk、utf-8、utf8mb4区别
  • 原文地址:https://www.cnblogs.com/myjava1/p/7718002.html
Copyright © 2011-2022 走看看