zoukankan      html  css  js  c++  java
  • 13.BeanUtils组件-基础.md


    目录

    用途

    可以用来对JavaBean的各种增强操作

    基本属性的设置

    package per.liyue.code.beanutildemo;
    import java.util.Date;
    public class Person {
        private int id = 0;
        private String name = null;
        
        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;
        }
    }  
    
    
    package per.liyue.code.beanutildemo;
    import java.lang.reflect.InvocationTargetException;
    import java.util.Date;
    import java.util.HashMap;
    import java.util.Map;
    import org.apache.commons.beanutils.BeanUtils;
    import org.apache.commons.beanutils.ConvertUtils;
    import org.apache.commons.beanutils.locale.converters.DateLocaleConverter;
    import org.junit.Test;
    public class BeanUtilsDemo {
        @Test
        public void demo1() throws IllegalAccessException, InvocationTargetException {
            /*
             * 1.对JavaBean的操作
             */
            // 基本的对象属性设置
            Person p = new Person();
            p.setId(1);
            p.setName("张三");
            System.out.println("原始操作:" + p.getName());
            
            //1.BeanUtils两种方式设置属性
            Person pU = new Person();
            BeanUtils.copyProperty(pU, "id", 2);
            BeanUtils.setProperty(pU, "name", "李四");
            System.out.println("使用BeanUtils设置属性:" + pU.getName());
        }
    
    }  
    
    

    Map数据的拷贝

    package per.liyue.code.beanutildemo;
    import java.lang.reflect.InvocationTargetException;
    import java.util.Date;
    import java.util.HashMap;
    import java.util.Map;
    import org.apache.commons.beanutils.BeanUtils;
    import org.apache.commons.beanutils.ConvertUtils;
    import org.apache.commons.beanutils.locale.converters.DateLocaleConverter;
    import org.junit.Test;
    public class BeanUtilsDemo {
        @Test
        public void demo1() throws IllegalAccessException, InvocationTargetException {
           
    
            //2.将Map中的数据拷贝到对象中
            Map<String, Object>map = new HashMap<>();
            //这里的key要保证和BeanUtils中拷贝的属性名称,类字段名称一致才可以!!
            map.put("name", "王五");
            Person pM = new Person();
            BeanUtils.populate(pM, map);
            System.out.println("使用BeanUtils拷贝Map数据:" + pM.getName());
        }
    
    }  
    
    

    对象的拷贝

    package per.liyue.code.beanutildemo;
    import java.lang.reflect.InvocationTargetException;
    import java.util.Date;
    import java.util.HashMap;
    import java.util.Map;
    import org.apache.commons.beanutils.BeanUtils;
    import org.apache.commons.beanutils.ConvertUtils;
    import org.apache.commons.beanutils.locale.converters.DateLocaleConverter;
    import org.junit.Test;
    public class BeanUtilsDemo {
        @Test
        public void demo1() throws IllegalAccessException, InvocationTargetException {
    
    
            
            //.BeanUtils拷贝对象
            Person pC = new Person();
            //没有日期类型时候可以
            BeanUtils.copyProperties(pC, pU);
            System.out.println("使用BeanUtils拷贝对象:" + pC.getName());
        }
    
    }  
    
    

    转换器

    package per.liyue.code.beanutildemo;
    import java.util.Date;
    public class PersonDate {
        private String name = null;
        public String getName() {
            return name;
        }
        public void setName(String name) {
            this.name = name;
        }
        
        //日期类型
        private Date birthday;
        public Date getBirthday() {
            return birthday;
        }
        public void setBirthday(Date birthday) {
            this.birthday = birthday;
        }
        
        @Override
        public String toString() {
            // TODO Auto-generated method stub
            return "这个人名字:" + name + " 生日" + getBirthday();
        }
    }
    
    package per.liyue.code.beanutildemo;
    import java.lang.reflect.InvocationTargetException;
    import java.util.Date;
    import java.util.HashMap;
    import java.util.Map;
    import org.apache.commons.beanutils.BeanUtils;
    import org.apache.commons.beanutils.ConvertUtils;
    import org.apache.commons.beanutils.locale.converters.DateLocaleConverter;
    import org.junit.Test;
    public class BeanUtilsDemo {
         
        @Test
        public void Demo2() throws IllegalAccessException, InvocationTargetException {
            /*
             * 日期类型转换
             */
            PersonDate pD = new PersonDate();
            String name = "赵二";
            String birthday = "1987-01-01";
            //注册类型转换器
            ConvertUtils.register(new DateLocaleConverter(), Date.class);
            //注册完成后拷贝属性
            /*
             * 注意:1.必须类的属性是public
             *      2.这里对于空字符串是没有处理的,需要自己额外加代码
             */
            if ((birthday == null) || ("".equalsIgnoreCase(birthday))) {
                return;
            }
            BeanUtils.copyProperty(pD, "name", name);
            BeanUtils.setProperty(pD, "birthday", birthday);
            System.out.println(pD);
            
        }
    }  
    
    
  • 相关阅读:
    AD19覆铜与边框间距设置方法
    PADS规则设计-对某一网络/元件单独设置规则
    uC/OSii之任务划分
    对于单片机工程.h头文件的管理
    如何知道单片机程序占了多少字节
    观念的水位
    心无旁骛,向死而生:WGDC2016给创企上的一堂课
    寻找地理可视化的引爆点
    测绘地理信息企业转型之惑
    为什么你找不到优秀的GISer?
  • 原文地址:https://www.cnblogs.com/bugstar/p/8512685.html
Copyright © 2011-2022 走看看