BeanUtils_BeanUtils

BeanUtils_BeanUtilsBeanUtils类依赖的jar包注意:其中第二个包一定是commons-collections-xxx.jar,之前使用了commons-collectionsx-xxx.jar在web上显示未找到类BeanUtils类当中的主要方法populate(Objectbean,Map<String,?extendsObject>properties):可以将pr…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

BeanUtils类依赖的jar包

在这里插入图片描述

  • 注意:其中第二个包一定是commons-collections-xxx.jar,之前使用了commons-collectionsx-xxx.jar在web上显示未找到类

BeanUtils类当中的主要方法

  • populate(Object bean, Map<String, ? extends Object> properties):可以将properties当中的内容通过key-value的性质赋值给bean对象
  • setProperty(Object bean, String name, Object value):将bean对象当中属性名为name的属性值修改为value
  • getProperty(Object bean, String name):获取bean对象当中的名为name的属性的值

BeanUtils的使用方法

使用BeanUtils时变量和属性的区别

首先我们来看一下一个Student类的定义:

public class Student { 
   
    private String name;
    private int age;
    private String localAddress;

    public Student() { 
   
        name = "cjd";
        age = 20;
        localAddress = "china";
    }

    public void setName(String name) { 
   
        this.name = name;
    }
    public String getName() { 
   
        return name;
    }

    public void setAge(int age) { 
   
        this.age = age;
    }
    public int getAge() { 
   
        return age;
    }

    public void setHost(String localAddress) { 
   
        this.localAddress = localAddress;
    }
    public String getHost() { 
   
        return localAddress;
    }

    public String toString() { 
   
        return name + " " + age + " " + localAddress;
    }
}

很简单我们为Student对象设置了三个变量,分别是name,age,address,但是属性就没有那么简单了。
在BeanUtils当中其实属性名字与变量名字并没有太大的关系,属性是这么定义的举个例子我们看到了方法getHost(),我们去掉get之后获得Host,将H变成小写,就得到了属性host,因此属性是直接跟一个变量的getter和setter有关系的。
由此我们知道如果我们想要获得localAddress的值,应该是使用如下的代码:

public class Main { 
   
    public static void main(String[] args) { 
   
        Student student = new Student();
        System.out.println(student);
        try { 
   
            System.out.println(BeanUtils.getProperty(student, "host"));
        } catch (IllegalAccessException e) { 
   
            e.printStackTrace();
        } catch (InvocationTargetException e) { 
   
            e.printStackTrace();
        } catch (NoSuchMethodException e) { 
   
            e.printStackTrace();
        }
    }
}

BeanUtils当中的方法使用注意事项

  • 传入BeanUtils方法当中的bean类一定是public修饰的
  • 其中的属性值一定是private修饰的
  • 其中的getter和setter方法一定是public修饰的
  • getter和setter方法的命名一定是符合命名规范的(满足java命名规范就可以了)
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/194979.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • VS2013 产品密钥 – 所有版本-亲试,好使!!

    VS2013 产品密钥 – 所有版本-亲试,好使!!VisualStudioUltimate2013KEY(密钥):BWG7X-J98B3-W34RT-33B3R-JVYW9VisualStudioPremium2013KEY(密钥):FBJVC-3CMTX-D8DVP-RTQCT-92494VisualStudioProfessional2013KEY(密钥):XDM3T-W3T3V-MGJWK-8B…

  • MySQL 5.7.27详细下载安装配置教程

    MySQL 5.7.27详细下载安装配置教程本文详细介绍了Win10下MySQL5.7.27的安装及配置步骤,也列举出了一些常见的问题及解决方案

  • webstorm 插件安装

    webstorm 插件安装1.打勾的表示已经安装2.没有安装的插件,可以在plugins搜索,在右边搜索结果里点install,然后重启webstorm3.这里有常用插件http://blog.csdn.net/xs20691718/article/details/52269027转载于:https://www.cnblogs.com/linsx/p/7770623.html…

  • SpringBoot常见的经典面试题

    SpringBoot常见的经典面试题SpringBoot常见的经典面试题最近很多人面试时,简历上都说自己熟悉SpringBoot,或者说正在学习SpringBoot,一被面试官问道,都只停留在简单的使用阶段,很多东西都不清楚,下面我整理了一些springboot比较常见的面试题。1、什么是SpringBoot?SpringBoot是Spring开源组织下的子项目,是Spring组件一站式解决方案,…

  • fastjson 注解(JAVA注解)

    查看@JSONField注解的源码可以了解到它的作用范围是在方法(METHOD)、属性(FIELD)、方法中的参数(PARAMETER)上。1.作用在FIELD(成员变量上)注意:1、若属性是私有的,必须有set*方法。否则无法反序列化。packagecom.zhujie;importcom.alibaba.fastjson.JSONObject;importcom…

  • 2021年五面蚂蚁,java必背代码入门[通俗易懂]

    2021年五面蚂蚁,java必背代码入门[通俗易懂]一面(个人感觉回答得还不错)1.自我介绍2.说项目,项目问的非常深(本人提到之前做过的一篇关于FULLGC的问题定位和优化的项目以及一个多并发的项目)2.1对于自己产于过项目的系统定位是否清楚?2.2对于系统的各个模块是否清楚?2.3每个接口的tps?2.4对于上下游系统的依赖?2.5对于使用到的中间件、框架是否清楚?3.你觉得你做的项目中最有亮点的事情?4.memcacheredis同类中间的差异、优缺点?使用注意点有哪些?memcache可以存储的

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号