BeanUtils是apache提供的的一个工具类,在很多地方我们都要用到这个类。下面说说这个类的简单用法。
相关的使用细节已经在代码的注释中说明了。
@Test public void test5(){ try { Person p = new Person(new Book()); //使用beanUtils给对象的属性赋值 BeanUtils.setProperty(p, "username", "张三"); //使用beanUtils获取对象的属性值 System.out.println(BeanUtils.getProperty(p, "username")); //beanUtils支持属性链赋值与获得值,不过赋值前book要先实例化 BeanUtils.setProperty(p, "book.name", "历史小说"); System.out.println(BeanUtils.getProperty(p, "book.name")); System.out.println(p.getBook().getName()); //把一个对象的值赋给另一个对象 Person p2 = new Person(); BeanUtils.copyProperties(p2, p); System.out.println(p2.getUsername()+","+p2.getBook().getName()); Map<String,String> map = new HashMap<String, String>(); //把Map的值拷贝给一个JavaBean Person p3 = new Person(); map.put("username", "张三"); map.put("password", "9999"); BeanUtils.populate(p3, map ); System.out.println(p3.getUsername()+","+p3.getPassword()); } catch (IllegalAccessException | InvocationTargetException | NoSuchMethodException e) { e.printStackTrace(); } }
Person.java
public class Person { private String username; private String password; private int money; private Book book; public Person() { } public Person(Book book) { this.book = book; } public Book getBook() { return book; } public void setBook(Book book) { this.book = book; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public int getMoney() { return money; } public void setMoney(int money) { this.money = money; } }
Book.java
public class Book { private int id; private String name; private int price; private String author; private Detail detail; private Attribute attribute; public Attribute getAttribute() { return attribute; } public void setAttribute(Attribute attribute) { this.attribute = attribute; } public Detail getDetail() { return detail; } public void setDetail(Detail detail) { this.detail = detail; } 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 getPrice() { return price; } public void setPrice(int price) { this.price = price; } public String getAuthor() { return author; } public void setAuthor(String author) { this.author = author; } }
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/10514.html