使用BeanUtils进行一些简单的操作

4 篇文章 0 订阅
3 篇文章 0 订阅

BeanUtils是个工具包,Apache公司所开发的开源工具包,良心企业重要是。代码中对javabean的操作很频繁, 所以Apache提供了一套开源的api,方便对javabean的操作!这个就是BeanUtils组件。
BeanUtils组件, 作用是简化javabean的操作!

用户可以从www.apache.org下载BeanUtils组件,然后再在项目中引入jar文件!

使用BeanUtils工具包我们需要引用的的Jar包有以下几种:

(1) BeanUtils相关包,主要是工具包

  • commons-beanutils-1.8.3.jar 我们要使用的包
  • commons-beanutils-1.8.3-javadoc.jar 文档包
  • commons-beanutils-bean-collections-1.8.3.jar 我也不知道什么包
  • commons-beanutils-core-1.8.3.jar 核心包

(2) Logic4j相关包,这是个日志包

  • commons-logging.jar
  • log4j.jar

下面就要开始使用这个工具包了


Admin类

 public class Admin {
    private int id;
    private String name;
    private String age;
    private Date birthday;
    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getAge() {
        return age;
    }
    public void setAge(String age) {
        this.age = age;
    }
    public Date getBirthday() {
        return birthday;
    }
    public void setBirthday(Date birthday) {
        this.birthday = birthday;
    }

}

下面是开始使用BeanUtil进行简化操作:

beanutils拷贝对象属性

public void test() throws Exception {
        //实现原理就是反射,对于基本数据类型会自动转换
        Admin admin=new Admin();      //实例化一个对象
        BeanUtils.copyProperty(admin, "name", "suny");    //拷贝name属性   三个参数是(对象,属性名,属性值)
        BeanUtils.copyProperty(admin,"age",18);        //拷贝age属性
        BeanUtils.setProperty(admin,"id",1);           //设置属性值
        System.out.println(admin.getName());
        System.out.println(admin.getAge());
        System.out.println(admin.getId());
    }

对象的拷贝

    public void test2() throws Exception
    {
        Admin admin=new Admin();    //创建对象1
        Admin admin2=new Admin();    //创建对象1
        BeanUtils.copyProperty(admin,"name","suny");      //拷贝name属性
        BeanUtils.copyProperties(admin2,admin);      //把admin对象拷贝到aamin2对象中     (现在的对象,源对象)
        System.out.println(admin2.getName());
    }

map对象拷贝到对象中

    public void test3() throws Exception
    {
        Admin admin=new Admin();       //实例化一对象
        Map<String,Object> map=new HashMap<String,Object>();     //创建一个map对象集合
        map.put("name", "Suny");    //推送map属性与值    ,map中的key一定要与javabean中的属性一样
        map.put("age", 19);        //推送map属性与值
        BeanUtils.populate(admin, map);       //把map对象拷贝到admin对象中
        System.out.println(admin.getName());
        System.out.println(admin.getAge());

    }

模拟表单提交时的操作

public void test4() throws Exception{
        String rec_name="suny";     //模拟从表单接受的name值
        String rec_age="20";        //模拟从表单接收得 age值
        Admin admin=new Admin();     //实例化对象
        BeanUtils.copyProperty(admin, "name", rec_name);      //请注意最后的name时候从表单接收的值
        BeanUtils.copyProperty(admin, "age", rec_age);         //这个age也是接收的值
        System.out.println(admin.getName());
        System.out.println(admin.getAge());

    }

忘记说使用方法了,使用BenUtils组件的话要先导入包:

  1. 引入commons-beanutils-1.8.3.jar核心包
  2. 引入日志支持包: commons-logging-1.1.3.jar

如果缺少日志jar文件,就会报错报错:

java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory
    at org.apache.commons.beanutils.ConvertUtilsBean.<init>(ConvertUtilsBean.java:157)
    at org.apache.commons.beanutils.BeanUtilsBean.<init>(BeanUtilsBean.java:117)
    at org.apache.commons.beanutils.BeanUtilsBean$1.initialValue(BeanUtilsBean.java:68)
    at 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值