<转>BeanUtils Map与Bean转换

来源:互联网 发布:淘宝客服有提成吗 编辑:程序博客网 时间:2024/06/06 00:10

Map和Bean的相互转换

    博客分类: 
  • J2SE
 

 不多说了,直接上代码,以下内容实现限制,javaBean必须在一个单独的文件中,并且Bean要为public的。【这里需要依赖apache的commons-beanutils-1.7.0.jar】

转换类:

 

Java代码  收藏代码
  1. import java.lang.reflect.InvocationTargetException;  
  2. import java.util.Map;  
  3.   
  4. import org.apache.commons.beanutils.BeanUtils;  
  5.   
  6. public class test {  
  7.       
  8.       
  9.     public static void main(String[] args) {  
  10.         Person person1=new Person();  
  11.         person1.setName("name1");  
  12.         person1.setSex("sex1");  
  13.         Map<String, String> map=null;  
  14.         try {  
  15.             map = BeanUtils.describe(person1);  
  16.               
  17.     //=============Bean转换成Map=======================//  
  18.             System.out.println(map.size()+">>>>>>>>>>>");  
  19.         } catch (IllegalAccessException e) {  
  20.             e.printStackTrace();  
  21.         } catch (InvocationTargetException e) {  
  22.             e.printStackTrace();  
  23.         } catch (NoSuchMethodException e) {  
  24.             // TODO Auto-generated catch block  
  25.             e.printStackTrace();  
  26.         }  
  27.           
  28.         Person person=test.map2Bean(map, Person.class);  
  29.         System.out.println(person.getName());  
  30.     }  
  31.   
  32.     /** 
  33.      *  
  34.      *  
  35.      * Map转换层Bean,使用泛型免去了类型转换的麻烦。 
  36.      * @param <T> 
  37.      * @param map   
  38.      * @param class1 
  39.      * @return 
  40.      */  
  41.     public static <T> T map2Bean(Map<String, String> map, Class<T> class1) {  
  42.         T bean = null;  
  43.         try {  
  44.             bean = class1.newInstance();  
  45.             BeanUtils.populate(bean, map);  
  46.         } catch (InstantiationException e) {  
  47.             e.printStackTrace();  
  48.         } catch (IllegalAccessException e) {  
  49.             e.printStackTrace();  
  50.         } catch (InvocationTargetException e) {  
  51.             e.printStackTrace();  
  52.         }  
  53.         return bean;  
  54.     }  
  55. }  

 

目标转换Bean类。

 

Java代码  收藏代码
  1. public class Person {  
  2.   
  3.     public Person() {  
  4.     }  
  5.   
  6.     private String name;  
  7.     private String sex;  
  8.   
  9.     public String getName() {  
  10.         return name;  
  11.     }  
  12.   
  13.     public void setName(String name) {  
  14.         this.name = name;  
  15.     }  
  16.   
  17.     public String getSex() {  
  18.         return sex;  
  19.     }  
  20.   
  21.     public void setSex(String sex) {  
  22.         this.sex = sex;  
  23.     }  
  24. }  
 

 原文地址: Map和Bean的相互转换 - 琳尼克斯 - ITeye博客

原创粉丝点击