zoukankan      html  css  js  c++  java
  • BeanUtils使用概要

    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;
        }
    }

    BeanUtils还有许多好用的方法,想要详细了解可以查看官方的帮助文档。

  • 相关阅读:
    Andriod 简介
    Java 记录日志
    Java 国际化
    Java 正则表达式的使用
    Java 日期、时间类,日期、时间的格式化
    Java Random类、ThreadLocalRandom类
    Java Math类、BigDecimal类、NumberFormat类、浮点数的精确度问题
    Java String类、StringBuilder类、StringBuffer类
    Java System类、RunTime类、Object类、垃圾回收
    span 右浮动折行 解决ie6/7中span右浮动折行问题
  • 原文地址:https://www.cnblogs.com/qitian1/p/6461870.html
Copyright © 2011-2022 走看看