HashMap 转化为Bean对象

首先吐槽一下百度,我确信网上肯定是有现成轮子的,只是我们搜不到!!! 搜到的都是自己造的轮子,如图

 

 

 

那有么有比较官方的呢?当然有了!不过我是用google搜索到的。

 

 

 

我们明确可以看到BeanUtils字样,所以我们在maven仓库中进行搜索,果然有这个东西。所以下面是这个类的使用方法

导入必要库

        <!-- HashMap转化为Bean --> 
        <dependency> 
            <groupId>commons-beanutils</groupId> 
            <artifactId>commons-beanutils</artifactId> 
            <version>1.9.3</version> 
        </dependency>

自定义Map:SimpleMap

public class SimpleMap extends HashMap<String, Object> implements Serializable { 
 
    private static final long serialVersionUID = -5809782578272943999L; 
 
    public Object toBean(Class<?> clazz){ 
        try { 
            Object obj = clazz.newInstance(); 
            BeanUtils.populate(obj,this); 
            return obj; 
        } catch (Exception e) { 
            e.printStackTrace(); 
        } 
        return null; 
    } 
}

然后我们使用的时候就可以使用SimpleMap来代替HashMap了,如下:

 

 

 

 

 

 

其他相关源码:

    @Test 
    public  void studentTest(){ 
        SimpleMap map = new SimpleMap(); 
        map.put("name","tao"); 
        map.put("age",18); 
        Student student = (Student) map.toBean(Student.class); 
        System.out.println(student); 
    } 
public class Student { 
    private Integer id; 
 
    private Integer age; 
 
    private String name; 
 
    public Integer getId() { 
        return id; 
    } 
 
    public void setId(Integer id) { 
        this.id = id; 
    } 
 
    public Integer getAge() { 
        return age; 
    } 
 
    public void setAge(Integer age) { 
        this.age = age; 
    } 
 
    public String getName() { 
        return name; 
    } 
 
    public void setName(String name) { 
        this.name = name == null ? null : name.trim(); 
    } 
}

参考资料

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值