前言:本博客内容由张孝祥Java高新技术整理而来

在上节:对javaBean简单的内省操作 中我们写了两个静态的方法,用来获取和赋值javaBean属性。其实这些apache早已经帮我们封装好了,我们直接使用即可。

准备工作:两个jar包

1.commons-beanutils.jar

2.commons-logging.jar

直接上实例

po实体类

package com.dao.chu.movie;public class Student {private int id;private String name;private int age;public Student() {}public Student(int id, String name, int age) {super();this.id = id;this.name = name;this.age = age;}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 int getAge() {return age;}public void setAge(int age) {this.age = age;}}

vo实体类

package com.dao.chu.movie;public class StudentVo {private int id;private String name;private int age;private float grade;@Overridepublic String toString() {return "StudentVo [id=" + id + ", name=" + name + ", age=" + age+ ", grade=" + grade + "]";}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 int getAge() {return age;}public void setAge(int age) {this.age = age;}public float getGrade() {return grade;}public void setGrade(float grade) {this.grade = grade;}}

测试类

package com.dao.chu.movie;import java.beans.IntrospectionException;
import java.lang.reflect.InvocationTargetException;
import java.util.HashMap;
import java.util.Map;import org.apache.commons.beanutils.PropertyUtils;public class PropertyUtilTest {@SuppressWarnings("unchecked")
public static void main(String[] args) throws IllegalAccessException, IllegalArgumentException, InvocationTargetException, IntrospectionException, NoSuchMethodException {Student student = new Student(1, "张三", 18);StudentVo studentVo = new StudentVo();//设置属性 同方法  BeanUtils.setPropertyPropertyUtils.setProperty(student, "name", "张三三");//获取属性  同方法  BeanUtils.getPropertyObject name = PropertyUtils.getProperty(student, "name");System.out.println("getName is:"+name);//vo po转换System.out.println(studentVo);PropertyUtils.copyProperties(studentVo, student);System.out.println("vo is:"+studentVo);//po转换为map 同BeanUtils.describeMap<String, Object> map = new HashMap<String, Object>();map=PropertyUtils.describe(studentVo);System.out.println("map is:"+map.toString());//map赋值 PropertyUtils.setProperty(map, "father", "张五五");System.out.println("now map is:"+map.toString());}
}

运行结果:

getName is:张三三
StudentVo [id=0, name=null, age=0, grade=0.0]
vo is:StudentVo [id=1, name=张三三, age=18, grade=0.0]
map is:{grade=0.0, name=张三三, id=1, class=class com.dao.chu.movie.StudentVo, age=18}
now map is:{grade=0.0, father=张五五, name=张三三, id=1, class=class com.dao.chu.movie.StudentVo, age=18}

PropertyUtils的使用相关推荐

  1. 对象拷贝类PropertyUtils,BeanUtils,BeanCopier的技术沉淀

    2019独角兽企业重金招聘Python工程师标准>>> 对象拷贝类PropertyUtils,BeanUtils,BeanCopier的技术沉淀 博客分类: java 对象拷贝的应用 ...

  2. 工具类:BeanUtils和PropertyUtils的区别

    相同点: 都是浅拷贝,都提供了copyProperties()方法,只要属性名相同就可以从源bean中拷贝值到目标bean中 不同点: BeanUtils.copyProperties("转 ...

  3. BeanUtils.copyProperties VS PropertyUtils.copyProperties

    1. 通过反射将一个对象的值赋值个另外一个对象(前提是对象中属性的名字相同). 2. BeanUtils.copyProperties(obj1,obj2); 经常闹混不知道是谁给谁赋值,无意中先到& ...

  4. BeanUtils.copyProperties与PropertyUtils.copyProperties用法及区别

    转自:http://www.cnblogs.com/fayf/articles/1272982.html 一.简介:BeanUtils提供对Java反射和自省API的包装.其主要目的是利用反射机制对J ...

  5. Bean复制的几种框架性能比较(BeanUtils、PropertyUtils、BeanCopier)

    作者:费晓晖 cnblogs.com/kaka/archive/2013/03/06/2945514.html 作为一个新员工,一个首要的工作就是阅读别人的代码,阅读代码的诸多好处就不说了,我就直奔主 ...

  6. java BeanUtils PropertyUtils

    为什么80%的码农都做不了架构师?>>>    <dependency><groupId>commons-beanutils</groupId>& ...

  7. java beanutils 性能_对比BeanUtils、PropertyUtils、BeanCopier的性能消耗

    主要代码 定义2个bean对象: public class copyPropertiesData1 { private Integer id; public Integer getId() { ret ...

  8. PropertyUtils.copyProperties和BeanUtils.copyProperties使用区别

    位于org.apache.commons.beanutils包里面的这两个参数拷贝方法可以复制一个对象中相同名字的参数值到另一个对象,能简化很多代码,但是这两个copy方法使用起来有很大区别. /** ...

  9. Java内省用法_java内省机制及PropertyUtils使用方法

    反射 相对而言,反射比内省更容易理解一点.用一句比较白的话来概括,反射就是让你可以通过名称来得到对象(类,属性,方法)的技术.例如我们可以通过类 名来生成一个类的实例:知道了方法名,就可以调用这个方法 ...

  10. Taglib原理和实现:再论El和JST

    作者: WalkingWithJava 出处: Java研究组织 问题:你想和JSTL共同工作.比如,在用自己的标签处理一些逻辑之后,让JSTL处理余下的工作. 看这个JSP例子: <% Str ...

最新文章

  1. OpenCV和Python动手操作计算机视觉学习教程
  2. 购买阿里云服务器地域如何选择?
  3. html标签中lang属性及xml:lang属性的作用
  4. [转]宝文!Apple Push Notification Service (APNS)原理与实现方案
  5. Spark数据本地性
  6. 修改数据库表数据的办法
  7. IP 层收发报文简要剖析1-ip报文的输入
  8. 关于MDI窗体的那些问题
  9. 如何处理iOS中照片的方向
  10. 恒生电子Java开发岗的面试题汇总
  11. excel多元线性拟合_急!!!用excel做的多元线性回归分析~|excle做三元回归
  12. Reset、clock、locked和dcm_locked之间的坑
  13. 【实战篇】微信公众号网页授权登录实现起来如此简单
  14. 用spark统计50年美国最常见的20个名字
  15. 金耀初教授:进化计算在人工智能领域的发展
  16. 二 关键词---关键词扩展(五)
  17. Quality Trimming Via Trimmomatic
  18. m4a格式怎么转换成mp3,非常简单
  19. 如何去掉华三交换日志中机烦人的 STP_NOTIFIED_TC
  20. GitChat,一个记录技术和躺着赚零花钱的免费平台

热门文章

  1. 天勤数据结构代码——树基本操作
  2. 智能驾驶浪潮催生车载通信新机遇 移远通信抢占5G+C-V2X+GNSS风口
  3. rdkitpython | 多个化合物中挑选最大片段
  4. 计算机视觉应用培训心得体会,三维计算机视觉学习感想
  5. linux 运行文件
  6. 中心药库管理系统 v6.85 是什么
  7. 天线罩结构的基础知识
  8. html 360浏览器表单自动填写,360 浏览器自动填表: 让重复填表见鬼去
  9. 联想笔记本怎么进入pe系统_lenovo怎么进入pe系统
  10. 液压伺服控制系统设计