Commons-beanutils使用指南

EDKII实战:手把手调试PciHostBridge.c,看UEFI如何分配你的PCIe设备资源(IO/Memory空间) 本文深入解析EDKII中PciHostBridge.c模块的工作原理,详细指导如何调试PCIe设备资源分配(IO/Memory空间)。通过实战案例展示UEFI环境下Root Bridge初始化、地址空间转换及协议安装等核心流程,提供常见问题排查方法与性能优化建议,帮助开发者解决PCIe设备兼容性问题。 阅读详情

一、commons-beanutils的简要介绍

commons-beanutils是一组使用程序的集合,它能容易的处理bean及属性.该工具允许你以属性名检索bean属性、根据属性排列bean、将bean转换为Map等等。


二、实例说明

1. Author

package org.abu.commons.beanutils;

import java.util.Date;

public class Author {
    private String name;
    private String email;
    private Date birth;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public Date getBirth() {
        return birth;
    }

    public void setBirth(Date birth) {
        this.birth = birth;
    }

}

 

2.Book

package org.abu.commons.beanutils;

import java.util.Date;
import java.util.List;

public class Book {

    private String isbn;
    private String bookName;
    private List<Author> authors;
    private String publisher;
    private Date publishDate;

    public String getIsbn() {
        return isbn;
    }

    public void setIsbn(String isbn) {
        this.isbn = isbn;
    }

    public String getBookName() {
        return bookName;
    }

    public void setBookName(String bookName) {
        this.bookName = bookName;
    }

    public List<Author> getAuthors() {
        return authors;
    }

    public void setAuthors(List<Author> authors) {
        this.authors = authors;
    }

    public String getPublisher() {
        return publisher;
    }

    public void setPublisher(String publisher) {
        this.publisher = publisher;
    }

    public Date getPublishDate() {
        return publishDate;
    }

    public void setPublishDate(Date publishDate) {
        this.publishDate = publishDate;
    }

}

 

3.测试

 

package org.abu.commons.beanutils;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import org.apache.commons.beanutils.PropertyUtils;

public class BeanUtilsTest {

    private Book book = new Book();
    private Book copiedBook = new Book();   
   
    private List<Author> authors = new ArrayList<Author>();

    public BeanUtilsTest() {

        // 定义三个作者
        Author author1 = new Author();
        Author author2 = new Author();
        Author author3 = new Author();

        author1.setName("Liky");
        author1.setEmail("liky@yahoo.com");
        author1.setBirth(new Date());

        author2.setName("John");
        author2.setEmail("john@yahoo.com");
        author2.setBirth(new Date());

        author3.setName("Susan");
        author3.setEmail("susan@yahoo.com");
        author3.setBirth(new Date());

        // book属性
        authors.add(author1);
        authors.add(author2);
        authors.add(author3);

        book.setAuthors(authors);
        book.setIsbn("ISBN 7-096-13964-4");
        book.setBookName("Struts2 in Action");
        book.setPublisher("O'Reilly Media Inc.");
        book.setPublishDate(new Date());
    }

    public static void main(String[] args) throws Exception {
        BeanUtilsTest but = new BeanUtilsTest();

        //but.getProperty();
        but.copyProperties();
    }

    /**
     * 演示使用PropertyUtils来获得属性,
     * 注意获得属性有三种方式,分别是:
     * 1.getSimpleProperty 用来获取基本数据类型的属性
     * 2.getMappedProperty 用来获取Map类型的属性,
     * 例如:Book有一个Map类型的author,而author中有三个key,其中一个是name.
     * 那么就可以这样来使用getMappedProperty(book, "author", "name");
     * 3.getNestedProperty 用来获取嵌套的属性.
     * 也就是说如果Book有一个Author的属性,而Author又是另一个Bean,Author有个属性是name,
     * 那么就可以这样来使用getNestedProperty(book,"author.name");
     *
     * @throws Exception
     */

    @SuppressWarnings("unchecked")
    public void getProperty() throws Exception {
        // 获得Bean的简单属性
        String bookName = (String) PropertyUtils.getSimpleProperty(book,
                "bookName");
        String publisher = (String) PropertyUtils.getSimpleProperty(book,
                "publisher");
        String isbn = (String) PropertyUtils.getSimpleProperty(book, "isbn");
        Date publishDate = (Date) PropertyUtils.getSimpleProperty(book,
                "publishDate");

        StringBuffer bookString = new StringBuffer();
        bookString.append("book:/n").append(
                "bookName: " + bookName + "/npublisher: " + publisher
                        + "/nisbn: " + isbn + "/npublish date: " + publishDate + "/n/n");

        // 获得嵌套的属性,这里的Book中有一个Authors的属性,它是Author这个Bean的列表
        // 如果要获得嵌套的属性,那么必须使用getNestedProperty这个方法

        System.out.println(bookString);
        List<Author> authorList = (List<Author>) PropertyUtils
                .getNestedProperty(book, "authors");
       
        StringBuffer authorsString = new StringBuffer();

        for (int i = 0; i < authorList.size(); i++) {
            Author author = authorList.get(i);
            authorsString.append("author" + i + ":/n");
            authorsString.append("name:"
                    + PropertyUtils.getSimpleProperty(author, "name") + "/n");
            authorsString.append("email:"
                    + PropertyUtils.getSimpleProperty(author, "email") + "/n");
            authorsString.append("birth:"
                    + PropertyUtils.getSimpleProperty(author, "birth") + "/n/n");
        }
       
        System.out.println(authorsString);
    }
   
    /**   
     * 我们来测试是否book会复制属性给copiedBook.
     * @throws Exception
     */

    public void copyProperties() throws Exception {
        PropertyUtils.copyProperties(copiedBook, book);
       
        StringBuffer sb = new StringBuffer();
       
        sb.append("book:/n").append("bookName: " + copiedBook.getBookName()).append("/npublisher: " + copiedBook.getPublisher()).append("/npublish date: " + copiedBook.getPublishDate());
       
        System.out.println(sb);
    }
}

网络工程师如何利用Python自动Telnet到N个路由器并执行配置? telnetlib是Python标准库中的一个模块,专门用于实现Telnet协议。通过telnetlib,我们可以方便地与支持Telnet协议的远程设备进行通信。telnetlib提供了基本的Telnet功能,如连接远程主机、发送命令、读取响应等,使得编写Telnet自动化脚本变得非常简单。文档:可以选择中文:虽然telnetlib的功能相对基础,但对于大多数Telnet操作来说已经足够。通过telnetlib,可以轻松地实现与网络设备的交互,完成自动化配置任务。 阅读详情

相关推荐

癌症免疫治疗预测神器TIDE:从原理到实战(避坑指南)

本文详细解析了癌症免疫治疗预测工具TIDE的核心原理及实战应用。TIDE算法通过模拟肿瘤免疫逃逸的两种核心机制(T细胞功能障碍和排除),为临床决策提供精准预测。文章涵盖数据准备、标准化流程、网页工具操作指南及结果解读,帮助科研人员和临床医生避开常见误区,优化免疫治疗策略。

weixin_29309475的博客 194

commons-beanutils使用介绍

commons-beanutils是Apache开源组织提供的用于操作JAVA BEAN的工具包。使用commons-beanutils,我们可以很方便的对bean对象的属性进行操作

蒋固金(jianggujin)的专栏 1万+

研究生课程笔记:软件包在流行病学中的应用(三)——STATA软件

关键词:STATA软件基本操作、STATA对于流行病学研究的实现、STATA对复杂抽样设计样本量计算的实现 一、STATA软件基本操作 这部分网上教程有很多,也可以直接根据stata自带的help功能进行自学,在此只记录课程中提及的功能项。 1. 变量编辑 1.1 赋值:label type(按精度区分) 1) 整型:int(32), short(16), long(32) 2) 实型:flo...

weixin_45463530的博客 2432

Common BeanUtils组件的使用(源码)

Common BeanUtils组件方便了对JavaBean的使用。其中的一些类方法,使我们使用JavaBean得到了便利。   使用Common BeanUtils组件需要三个Jar包,分别是 commons-beanutils-1.8.0-BETA.jar commons-logging-1.1.1.jar commons-logging-api-1.1.1.jar   可从官网...

weixin_34055787的博客 204

从论文到生产:iSLIP优先级匹配算法在SDN交换机中的20年演进史

本文回顾了iSLIP优先级匹配算法在SDN交换机中的20年演进历程,从斯坦福大学的原始论文到现代芯片实现。通过独特的指针滑动和迭代循环机制,iSLIP算法显著提升了交换机的吞吐量和公平性,解决了传统FIFO调度的队头阻塞问题。文章详细探讨了算法在硬件实现中的工程挑战、开源实践及未来AI时代的智能调度方向。

weixin_29230649的博客 330

STM32 移植LwIP 实现网线插拔自动恢复

STM32 移植LwIP 之后,能正常联网通讯,但是发现2个问题, 1、上电初始化前,未插入网线,之后就无法获取到IP地址(DHCP) 2、正常通讯过程中,拔掉网线,然后插回去,不知道如何复位 先看一下LWIP初始化代码 /** * LwIP initialization function */ int MX_LWIP_Init() { /* Initilialize the LwIP stack with RTOS */ tcpip_init( NULL, NULL );

tiantangmoke的博客 8073

Apache Commons Beanutils 一 (使用PropertyUtils访问Bean属性)

BeanUtils简要描述 beanutils,顾名思义,是java bean的一个工具类,可以帮助我们方便的读取(get)和设置(set)bean属性值、动态定义和访问bean属性; 细心的话,会发现其实JDK已经提供了一个java.beans包,同样可以实现以上功能,只不过使用起来比较麻烦,所以诞生了apache commons beanutils; 看源码就知道,其实apache co...

weixin_34306676的博客 276

015:机载三维激光扫描技术相关知识

机载三维激光扫描系统(LiDAR)是集激光、GPS、INS等尖端技术于一体的三维航空遥感技术,能高效准确获取地表三维信息。该系统由GPS、INS、激光扫描测距系统、成像装置和工作平台组成,各部件协同工作以获取精确的空间定位、运动状态、地表三维坐标及真实色彩信息。通过制定飞行计划、安置GPS基站、激光扫描测量、惯性测量及获取高清数码影像等步骤,机载LiDAR技术能实时获取大范围高精度三维数据。该技术具有扫描速度快、精度高、全数字特征等优势,广泛应用于测绘、工程、环境监测和城市建设等领域,如城市三维模型重建、灾

qq_31762031的博客 1725

org.apache.commons.beanutils.PropertyUtils使用

[size=large][color=blue]org.apache.commons.beanutils.PropertyUtils 利用反射操作bean的属性。[/color][/size] [size=large][color=red]getSimpleProperty()通过反射读取属性[/color][/size] [code="java"] Person person=new ...

2017

【AI编程】Vibe Coding 开发环境搭建与项目实战操作详解

Vibe Coding 开发环境搭建与项目实战操作详解

congge 7328

【Flutter 面试题】 怎么减少Widget的重新构建?

关于 const 关键字的使用:在 Flutter 开发中,任何时候当你确定一个 Widget 在其整个生命周期内都不会发生变化时,使用 const 关键字声明这个 Widget。这样的声明告诉 Flutter 框架这个 Widget 可以在编译时生成,后续的构建周期中可以重用已经创建的 Widget,从而避免了重复的构建开销。这适用于静态文本、图标或整个不变的 Widget 树。

Code Metaverse 1573

org.apache.commons.beanutils.PropertyUtils使用明细

1.功能说明: 顾名思义,Bean Utility就是Bean小工具,主要是封装了反射(reflection)和自省(introspection)的API(可以查看java.lang.reflect和java.beans文档),对bean进行操作。 主要功能: 操作Bean的属性,针对Bean属性排序,Bean和Map的转换,创建动态的Bean等   2.使用缺点,当两个不同的类A 类B有相

qinxcb的专栏 4535

仿真系列专栏介绍

大家好!欢迎来到我的仿真学习系列专栏!这是一个我在学习仿真技术过程中整理和分享的系列文章。作为一名正在不断学习和实践的工程师,我希望通过这个专栏,和大家一起探索仿真技术,尤其是在高速信号完整性方面的应用。

案例文章,高速信号 364

Apache Commons BeanUtils 安装与使用指南

Apache Commons BeanUtils 安装与使用指南 目录结构及介绍 当你克隆了https://github.com/apache/commons-beanutils.git仓库后, 你会看到如下主要的目录结构: src/ - 源代码存放的主目录。 main/java/org/apache/commons/beanutils/ - Java源代码的主要位置,包含了所有相关的实用类和...

gitblog_00272的博客 1068

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

commons-beanutils使用

Jakarta Commons项目提供了相当丰富的API,我们之前了解到的Commons Lang只是众多API的比较核心的一小部分而已。Commons下面还有相当数量的子项目,用于解决各种各样不同方向的实际问题,BeanUtils就是其中的一个,用于处理JavaBeans。它利用Java的反射机制,从动态的生成对bean的getter和setter的调用代码,到模拟创建一个动态的bean,等等。

jiutianhe的专栏 4703

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

常用jar包之commons-beanutils使用

Jakarta Commons项目提供了相当丰富的API,我们之前了解到的Commons Lang只是众多API的比较核心的一小部分而已。Commons下面还有相当数量的子项目,用于解决各种各样不同方向的实际问题,BeanUtils就是其中的一个,用于处理JavaBeans。它利用Java的反射机制,从动态的生成对bean的getter和setter的调用代码,到模拟创建一个动态的bean,等等。

TERRY的技术日志 2万+

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

commons-beanutils的使用

[align=center][color=red]commons-beanutils的使用[/color][/align] commons-beanutils的常用功能包括类型转换和动态bean的创建。 [size=large][align=left][color=red]类型转换[/color][/align][/size]关于类型转换主要用到BeanUtils 和 ConvertUtils。...

tmmh 416

Apache Commons BeanUtils 简单入门

Apache Commons BeanUtils 简单入门   主要功能: 操作Bean的属性,针对Bean属性排序,Bean和Map的转换,创建动态的Bean等     Person person = new Person(); person.setPid(100); person.setPname("zhangsan"); Card card = new Card(); ca...

zhou363667565的专栏 192

struts的jar包和配置

commons-beanutils-1.7.0.jar: 这个是jakarta commons项目中的一个子项目。这个项目开发的目的是帮助开发者动态的获取/设值Java Bean的属性,同时解决每次都要写getXXX和setXXX的麻烦。 commons-digester-1.8.jar: Digester本来仅仅是Jakarta Struts中的一个工具,用于处理struts-config.x

Alitownlet的专栏 929

BeanUtils—org.apache.commons.beanutils.BeanUtils

BeanUtils

底层码农 2万+

BeanUtils之commons-beanutils

这是一个把Map转为bean的工具 导包 Bean代码,Student类 package com.lingaolu.bena; /** * @author 林高禄 * @create 2020-07-08-20:01 */ public class Student { private String name; private int age; private Integer no; public String getName() {..

林高禄 8682

Java反射利器:Apache Commons BeanUtils详解

Commons BeanUtils 的作用通过反射提供一套便捷的 JavaBean 操作 API,支持动态属性访问、对象拷贝、Map 填充等,适用于需要解耦具体类结构的通用编程场景。但要注意它性能较低(大量反射);存在安全风险(尤其在处理不可信输入时);在现代项目中,优先考虑更安全、高效的替代方案。如果你有具体使用场景(比如“如何安全地用它做参数绑定”),我可以给出最佳实践代码。

m0_37607945的博客 1014

Apache Commons BeanUtils 深度解析与最佳实践

Student source = new Student("PERF001", "性能测试", 25, "计算机");Student source = new Student("S001", "王五", 23, "网络安全");BeanUtils.setProperty(student, "address.city", "南京市");System.out.println("年龄: " + age + ", 状态: " + active);// 保持null值,不进行默认转换。

2501_93078354的博客 745

apache Commons-beanutils的使用

apache Commons-beanutils使用1.背景 在java开发过程中,经常会与javabean打交道,像Entity、pojo、vo、dto等等。java应用非常讲究分层架构,因此在各层之间bean的传输与转换非常的繁琐,比如:Student stu = new Student(); stu.setName(bean.getName()); stu.setClassName(bean

u011079274的专栏 1万+

【commons-beanutils专题】004- BeanUtils 专题

【commons-beanutils专题】004- BeanUtils 专题

訾博(ZiBo)的博客 2757

报错Duplicate classes in commons-collections and commons-beanutils

错误信息简述: 引入依赖’net.sf.json-lib:json-lib:2.4:jdk15后报错。 org.apache.commons.collections.ArrayStack org.apache.commons.collections.Buffer org.apache.commons.collections.BufferUnderflowException org.apache.c...

数据联盟 8121
上一篇: Struts2的属性驱动与模型驱动的区别
下一篇: 数据库中的 date datetime timestamp的区别
csuliky
博客等级 码龄19年 77粉丝 57原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值