commons-beanutils是通过内省来完成的。

需要两个包:

  • commons-beanutils-1.8.3.jar
  • commons-logging-1.1.1.jar

JavaBean类:

package cn.zy.study;
/*** 提供get和set方法* 并有一个无参的构造方法* @author zy**/
public class Person {private String name;private int age;private String gender;public Person() {}public String getName() {return name;}public void setName(String name) {this.name = name;}@Overridepublic String toString() {return "Person [name=" + name + ", age=" + age + ", gender=" + gender+ "]";}public int getAge() {return age;}public void setAge(int age) {this.age = age;}public String getGender() {return gender;}public void setGender(String gender) {this.gender = gender;}}

  

对bean类的操作

package cn.test;import java.lang.reflect.InvocationTargetException;
import java.util.HashMap;
import java.util.Map;import org.apache.commons.beanutils.BeanUtils;
import org.junit.Test;import cn.zy.study.Person;public class Demo3 {@Testpublic void fun1() throws ClassNotFoundException, InstantiationException, IllegalAccessException, InvocationTargetException, NoSuchMethodException{//用Class类的forName方法来获取对应的class对象String className = "cn.zy.study.Person";Class clazz = Class.forName(className);//使用clazz对应类的默认构造器创造实例Object bean = clazz.newInstance();/**使用beanutils工具设置bean类的属性值,* 所有的属相值都可以设置成String类型,将会自动转换* 没有设置属性的值将为null*/BeanUtils.setProperty(bean, "name", "Scott");BeanUtils.setProperty(bean, "age", "17");System.out.println(bean);//得到bean类的属性值,注意属值都将变成String类型String name = BeanUtils.getProperty(bean, "name");String age = BeanUtils.getProperty(bean, "age");}@Test/*** 将map直接封装到一个bean中*/public void fun2() throws InstantiationException, IllegalAccessException, InvocationTargetException{Map<String,String> map = new HashMap();map.put("name","Scott");map.put("age","15");//利用类的class属性来获取Class对象,并创建Person bean = Person.class.newInstance();//将map数据填充到Javabean中BeanUtils.populate(bean, map);System.out.println(bean);}}

  

转载于:https://www.cnblogs.com/zydev/p/6986056.html

commons-beanutils的使用相关推荐

  1. beanutil 批量copy_Apache Commons Beanutils对象属性批量复制(pseudo-singleton)

    Apache Commons Beanutils为开源软件,可在Apache官网http://commons.apache.org/proper/commons-beanutils/download_ ...

  2. Commons BeanUtils包学习2

    2019独角兽企业重金招聘Python工程师标准>>> Commons BeanUtils包学习2 博客分类: 中间件 java 一.简介: BeanUtils提供对 Java反射和 ...

  3. Download Apache Commons BeanUtils

    下载地址:https://commons.apache.org/proper/commons-beanutils/download_beanutils.cgi

  4. 【commons】Bean工具类——commons-beanutils之BeanUtils

    一.起步 引入依赖: <!-- https://mvnrepository.com/artifact/commons-beanutils/commons-beanutils --> < ...

  5. beanutils工具类_Apache Commons 工具类介绍及简单使用

    来源:http://h5ip.cn/9xu3 Apache Commons 工具类大家都有用过,但是可能缺乏系统学习,只用到了一小部分功能,无法发挥极限的价值,肥朝用大白话说就是,一颗好白菜都让猪给拱 ...

  6. java实例拷贝,Apache Commons包 BeanUtils 对象拷贝实例demo

    Apache Commons包 BeanUtils 对象拷贝实例demo 发布时间:2019-05-08作者:laosun阅读(1846) Apache Commons包 BeanUtils 对象拷贝 ...

  7. BeanUtils威力和代价

    2019独角兽企业重金招聘Python工程师标准>>> BeanUtils: 威力和代价(转载综合) Apache Jakarta Commons项目非常有用.我曾在许多不同的项目上 ...

  8. java Apache Commons jar包简介

    一.Commons BeanUtils 说明:针对Bean的一个工具集.由于Bean往往是有一堆get和set组成,所以BeanUtils也是在此基础上进行一些包装. 二.Commons CLI 说明 ...

  9. BeanUtils 是用 Spring 的还是 Apache 的好?

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 来源 | urlify.cn/vUfIry 前言 在我们实际项目开 ...

  10. 两难!到底用Apache BeanUtils还是Spring BeanUtils?

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 在我们实际项目开发过程中,我们经常需要将不同的两个对象实例进行属性 ...

最新文章

  1. druid之监控设置及问题小记
  2. Leetcode 100. 相同的树 解题思路及C++实现
  3. Leetcode 92 反转链表 II (每日一题 20210726)
  4. 【NLP】打破BERT天花板:11种花式炼丹术刷爆NLP分类SOTA!
  5. maven不能拉取私服的原因
  6. javaSE各阶段练习题--面向对象-多态-抽象类-接口
  7. IDEA---SpringBoot同一个项目多端口启动
  8. (30)Verilog HDL系统函数:$stop
  9. 向量封包处理器(VPP)如何运作
  10. 普通程序员想转人工智能,不知道它?别想了!
  11. iPhone唯一标识符
  12. SSH免密码登录,搭建Flink standalone集群
  13. 【Matlab故障诊断分析】BP神经网络三相逆变器故障诊断研究【含源码 1736期】
  14. c语言dsp编程论坛,针对Ti的DSP C语言编程
  15. 计算机组成原理的各种常见英文缩写介绍--<<方便复习的笔记>>
  16. 后氧传感器正常数据_怎么看氧传感器数据流
  17. python抓取腾讯视频弹幕_Python实战 | 如何抓取腾讯视频弹幕
  18. 【web开发 模拟ua调试】修改chrome浏览器的user agent
  19. 12.0_[Java 多态]-多态/子类父类互转/基本引用类型互转/ instanceof 运算符
  20. Jenkins-API

热门文章

  1. 简单剖析智能指针的思想
  2. 使用OpenSSL实现证书操作
  3. postfix 554-5.7.0 Reject
  4. 无法使用index seek的写法
  5. Django-Ajax
  6. npm切换到淘宝镜像
  7. 并发编程之多进程篇之四
  8. 框架应用 : Spring - 开发详述
  9. (转)分享一个SQLSERVER脚本(计算数据库中各个表的数据量和每行记录所占用空间)...
  10. ASP.NET 2.0角色及成员管理