• 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还有许多好用的方法,想要详细了解可以查看官方的帮助文档。

  • 相关阅读:
    网页打开速度的心理学
    UML建模——用例图(Use Case Diagram)
    漫谈干系人识别管理
    干系人分析的3个方法:除了目标用户还要考虑谁?
    计算机网络-复习笔记
    项目经理必掌握的国际项目管理知识体系结构及内容
    剑指Offer面试题:5.重建二叉树
    剑指Offer面试题:4.从尾到头打印链表
    剑指Offer面试题:3.替换空格
    剑指Offer面试题:2.二维数组中的查找
  • 原文地址:https://www.cnblogs.com/lenve/p/4518006.html
Copyright © 2020-2023  润新知