Fork me on GitHub
posts - 148,  comments - 5,  views - 85086

 

    使用内省方式来实现beanUtils往对象里面存值

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
public class BeanInfoUtil2 {
    public static void setPropertyByIntrospector(Object userInfo, 
            Map<String,Object> map) throws Exception { 
            //map  key=name  value=value
        BeanInfo beanInfo = Introspector.getBeanInfo(userInfo.getClass()); 
        PropertyDescriptor[] proDescrtptors = beanInfo.getPropertyDescriptors(); 
        if (proDescrtptors != null && proDescrtptors.length > 0) { 
            for (PropertyDescriptor propDesc : proDescrtptors) { 
                Method method = propDesc.getWriteMethod();
                if (null==method) {
                    continue;
                }
                for (String keys : map.keySet()) {
                    if (method.getName().equals("set"+keys)) {
                        method.invoke(userInfo, map.get(keys));
                    }
                }
            
        
    
}

    测试类

1
2
3
4
5
6
7
        Student s=new Student();
Map<String,Object> map=new HashMap<String,Object>();
map.put("Name", "张三");
map.put("Age", 15);
BeanInfoUtil2.setPropertyByIntrospector(s, map);
System.out.println(s.getName());
System.out.println(s.getAge());       

  

      

    

 

posted on   TopTime  阅读(212)  评论(0编辑  收藏  举报
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示