BeanUtils

BeanUtils主要解决的问题:把对象的属性数据存储到对象中。
BeanUtils的好处:
    1.BeanUtils设置属性值的时候,如果属性是基本数据类型,BeanUtils会自动转换数据
BeanUtils的使用步骤:
    1.导包 commons-beanutils-1.8.0.jar(包点击打开链接+源码点击打开链接)、commons-logging.jar(点击打开链接
    2.BeanUtils设置属性值的时候底层也是依赖于get或者set方法设置以及获取属性值的。
    3.BeanUtils设置属性值如果是其他的引用类型数据,那么这时候必须要注册一个类型转换器。
   
   
  1. package com.cn.introspector;
  2. import java.lang.reflect.InvocationTargetException;
  3. import java.text.ParseException;
  4. import java.text.SimpleDateFormat;
  5. import java.util.Date;
  6. import org.apache.commons.beanutils.BeanUtils;
  7. import org.apache.commons.beanutils.ConvertUtils;
  8. import org.apache.commons.beanutils.Converter;
  9. /**
  10. * Author:Liu Zhiyong(QQ:1012421396)
  11. * Version:Version_1
  12. * Date:2016年8月30日10:05:30
  13. * Desc:
  14. BeanUtils主要解决的问题:把对象的属性数据存储到对象中。
  15. BeanUtils的好处:
  16. 1.BeanUtils设置属性值的时候,如果属性是基本数据类型,BeanUtils会自动转换数据
  17. BeanUtils的使用步骤:
  18. 1.导包commons-beanutils-1.8.0.jar、commons-logging.jar
  19. 2.BeanUtils设置属性值的时候底层也是依赖于get或者set方法设置以及获取属性值的。
  20. 3.BeanUtils设置属性值如果是其他的引用类型数据,那么这时候必须要注册一个类型转换器。
  21. */
  22. public class Demo3 {
  23. public static void main(String[] args) throws IllegalAccessException, InvocationTargetException {
  24. String id = "110";
  25. String name = "木丁西";
  26. String salary = "134.43";
  27. String birthday = "1993-05-06";
  28. //注册一个类型转换器
  29. ConvertUtils.register(new Converter() {
  30. @Override
  31. public Object convert(Class type, Object value) {
  32. SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
  33. Date date = null;
  34. try {
  35. date = simpleDateFormat.parse((String)value);
  36. } catch (ParseException e) {
  37. e.printStackTrace();
  38. }
  39. return date;
  40. }
  41. }, Date.class);
  42. Employee emp = new Employee();
  43. BeanUtils.setProperty(emp, "id", id);
  44. BeanUtils.setProperty(emp, "name", name);
  45. BeanUtils.setProperty(emp, "salary", salary);
  46. BeanUtils.setProperty(emp, "birthday", birthday);
  47. System.out.println(emp);
  48. }
  49. }
    
    
  1. package com.cn.introspector;
  2. import java.util.Date;
  3. public class Employee {
  4. private int id;
  5. private String name;
  6. private double salary;
  7. private Date birthday;
  8. public Employee() {
  9. super();
  10. // TODO Auto-generated constructor stub
  11. }
  12. public Date getBirthday() {
  13. return birthday;
  14. }
  15. public void setBirthday(Date birthday) {
  16. this.birthday = birthday;
  17. }
  18. public int getId() {
  19. return id;
  20. }
  21. public void setId(int id) {
  22. this.id = id;
  23. }
  24. public String getName() {
  25. return name;
  26. }
  27. public void setName(String name) {
  28. this.name = name;
  29. }
  30. public double getSalary() {
  31. return salary;
  32. }
  33. public void setSalary(double salary) {
  34. this.salary = salary;
  35. }
  36. @Override
  37. public String toString() {
  38. return "编号:" + this.id + "\t\t姓名:" + this.name + "\t薪水:" + this.salary + "\t生日:" + this.birthday;
  39. }
  40. }
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值