1、简介
BeanUtils工具包是由Apache公司所开发,提供对Java反射和自省API的包装。其主要目的是利用反射机制对JavaBean的属性进行处理。
我们知道,一个JavaBean通常包含了大量的属性,很多情况下,对JavaBean的处理导致大量get/set代码堆积,增加了代码长度和阅读代码的难度。
如果我们使用BeanUtils工具包就可以很方便的对JavaBean类能够进行简便的操作。
使用与依赖包:commons-beanutils-1.9.3.jar ;commons-logging-1.2.jar
2、BeanUtils工具对JavaBean类的操作
① BeanUtils 可以便于对javaBean的属性进行赋值。
② BeanUtils 可以便于对javaBean的对象进行赋值。
③ BeanUtils 可以将一个MAP集合的数据拷贝到一个javabean对象中。
3、BeanUtils常用方法
| 方法名 | 返回值 | 说明 |
| copyProperties(Object dest,Object orig) | void | 把orig中的值copy到dest中 |
| describe(Object bean) | Map | 把Bean的属性值放入一个Map里面 |
| populate(Object bean,Map properties) | void | 把properties里面的值放如bean中 |
| setProperty(Object bean,String name,Object value) | void | 设置bean对象的名称为name的property的值为value |
| getProperty(Object bean,String name) | String | 取得bean对象中名为name的属性的值 |
4、BeanUtils的使用
约定前提:参数名称必须要和JavaBean的属性名称保持一致。
1 public class User { 2 3 private int id; 4 private String username; 5 private String email; 6 private String password; 7 private String name; 8 private String phone; 9 private String address; 10 11 public User() { 12 super(); 13 } 14 15 public User(String username, String email, String password, String name, String phone, String address) { 16 super(); 17 this.username = username; 18 this.email = email; 19 this.password = password; 20 this.name = name; 21 this.phone = phone; 22 this.address = address; 23 } 24 25 public int getId() { 26 return id; 27 } 28 29 public void setId(int id) { 30 this.id = id; 31 } 32 33 public String getUsername() { 34 return username; 35 } 36 37 public void setUsername(String username) { 38 this.username = username; 39 } 40 41 public String getEmail() { 42 return email; 43 } 44 45 public void setEmail(String email) { 46 this.email = email; 47 } 48 49 public String getPassword() { 50 return password; 51 } 52 53 public void setPassword(String password) { 54 this.password = password; 55 } 56 57 public String getName() { 58 return name; 59 } 60 61 public void setName(String name) { 62 this.name = name; 63 } 64 65 public String getPhone() { 66 return phone; 67 } 68 69 public void setPhone(String phone) { 70 this.phone = phone; 71 } 72 73 public String getAddress() { 74 return address; 75 } 76 77 public void setAddress(String address) { 78 this.address = address; 79 } 80 81 @Override 82 public String toString() { 83 return "User [ 84 + name + ", phone=" + phone + ", address=" + address + "]"; 85 } 86 87 }