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

来源:互联网 发布:js校验身份证号 编辑:程序博客网 时间:2024/04/30 14:19

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
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 职工下岗档案单位丢失怎么办退休 大学毕业档案在自己手里怎么办 青岛李沧区房产证加名字怎么办手续 公积金迟交了1天怎么办 科一预约不上怎么办 科目一考试没去怎么办 科目一成绩单丢了怎么办 考科目二身份证丢了怎么办 考科目三身份证丢了怎么办 考科目一身份证丢了怎么办 滴滴顺风车被永久封禁怎么办 三岁宝宝智力发育迟缓怎么办 学车体检听力没过怎么办 学车体检听力不过关怎么办 离职体检发现听力有问题怎么办 买的二手房土地证没过户怎么办 b2扣了9分怎么办 上海网约车车证怎么办 b2驾照累计12分怎么办 c1本扣满12分怎么办 太原公共自行车丢了怎么办 在太原出租车丢了东西怎么办 太原社保卡丢了怎么办 太原铁路医保卡丢了怎么办 学车体检视力不合格怎么办 换驾照色弱被拒怎么办 在上海考驾照贵怎么办 驾驶证有效期过了半年怎么办 资格证脱审2年了怎么办 换驾驶证时眼睛近视了怎么办 违章累计扣12分怎么办 一个违章扣12分怎么办 a1驾照扣3分怎么办 a1驾照扣12分怎么办 吃了毓婷哺乳了怎么办 吃了毓婷后出血怎么办 吃金毓婷喝了水怎么办 白带浓稠浆糊样怎么办 驾校学费不给退怎么办 b1驾证扣了9分怎么办 机动车登记证丢了怎么办