BeanUtils的常用方法

常用的方法有:

setProperty(); getProperty(); populate(); copyProperties();
org.apache.commons.beanutils.BeanUtils的maven坐标
  <!--beanUtils的工具包-->
        <!-- https://mvnrepository.com/artifact/commons-beanutils/commons-beanutils -->
        <dependency>
            <groupId>commons-beanutils</groupId>
            <artifactId>commons-beanutils</artifactId>
            <version>1.9.4</version>
        </dependency>

下面一一示例

setProperty(); getProperty();方法使用
//根据字段设置值setter,getter方法
 private static void setUser() throws Exception {
        TestUser user=new TestUser();
        //根据字段名称赋值
        BeanUtils.setProperty(user,"name","xiaohei");
        //根据字段名称取值
        String name = BeanUtils.getProperty(user, "name");
        System.out.println(name); //xiaohei
        System.out.println(user.toString());//TestUser{name='xiaohei', password='null', age=0}
    }

setProperty(); getProperty();方法只可以赋值对象中有的字段没有赋值不上,取值一样

populate(); 方法使用
 //将map转化成对象
    private static void setUserToMap() throws Exception {
        TestUser user=new TestUser();
        Map<String,String> map= new HashMap<>();
        map.put("name","xiaohua");
        map.put("password","123445");
        map.put("age","10");
        map.put("haha","haha");
        //将map key值与对象字段相对应的赋值,
        BeanUtils.populate(user,map);
        //只赋值name,password,age, haha自动抛弃
        System.out.println(user.toString()); //TestUser{name='xiaohua', password='123445', age=10}
    }

populate() 也是只赋值对象中有的字段

copyProperties()方法的使用
 //赋值对象
    private static void copy()throws Exception{
        TestUser user=new TestUser();
        TestUser user1=new TestUser();
        user.setName("小黑");
        user.setPassword("123456");
        user.setAge(30);
        //copyProperties 第一个对象是要复制得到的对象,第二个是目标对象
        BeanUtils.copyProperties(user1,user);
        System.out.println(user1.toString());//TestUser{name='小黑', password='123456', age=30}
    }

copyProperties()这个方法是全部赋值,比如user1之前有值,使用此方法之前的值会被user的值覆盖,全部赋值,也是copy相同字段的值;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值