beanutils 入门

1. beanutils 简介

beanutils工具包有apache进行开发,主要是方便程序员对JavaBeans进行操作。实际上beanutils底层是利用了发射机制去操作JavaBeans。

beanutils底层去操作JavaBeans的属性时,是通过调用JavaBeans的getter和setter方法进行设值和获取的。

2. 搭建环境

2.1 下载工具包

commons-beanutils工具包的下载地址:http://commons.apache.org/proper/commons-beanutils/download_beanutils.cgi

由于commons-beanutils工具包依赖于commons-logging工具包,则必须将commons-logging工具包一通包含于项目中。

2.2 导入工具包 

1)将commons-beanutils与commons-logging解压

2) 将commons-beanutils-1.9.1.jar和commons-logging-1.2.jar加入到项目中

a) 右击 点击 “Build Path”,然后选择 "Configure Build Path"

b) 加入 commons-beanutils 和 commons-logging 的 jar 包

3. 开发示例

3.1 创建一个Person类

/***************************************************************************
 * @filename Person.java
 * @date 2016年8月16日 上午11:38:59
 * @author liuxuandong
 * @email 1004319075@qq.com
 * @version 1.0
 * @description
 **************************************************************************/
package com.lxd.beanutilsdemo;

public class Person {

	private String id;
	private String name;
	private int age;

	public String getId() {
		return id;
	}

	public void setId(String id) {
		this.id = id;
	}

	public String getName() {
		return name;
	}

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

	public int getAge() {
		return age;
	}

	public void setAge(int age) {
		this.age = age;
	}

	public Person(String id, String name, int age) {
		super();
		this.id = id;
		this.name = name;
		this.age = age;
	}

	public Person() {
		super();
	}

	@Override
	public String toString() {
		return "Person [id=" + id + ", name=" + name + ", age=" + age + "]";
	}
}

3.1 测试beanutils工具包中BeanUtils类中的setProperty()方法和getProperty()方法

/***************************************************************************
 * @filename TestBeanUtils.java
 * @date 2016年8月16日 下午12:56:26
 * @author liuxuandong
 * @email 1004319075@qq.com
 * @version 1.0
 * @description
 **************************************************************************/
package com.lxd.beanutilsdemo;

import static org.junit.Assert.*;

import java.lang.reflect.InvocationTargetException;

import org.apache.commons.beanutils.BeanUtils;
import org.junit.Test;

public class TestBeanUtils {

	@Test
	public void test1() throws IllegalAccessException, InvocationTargetException {
		Object object = new Person();

		BeanUtils.setProperty(object, "id", "1107");
		BeanUtils.setProperty(object, "name", "lxd");
		BeanUtils.setProperty(object, "age", 24);

		System.out.println(object);
	}

	@Test
	public void test2() throws IllegalAccessException, InvocationTargetException, NoSuchMethodException {
		Object object = new Person("0212", "zhh", 24);
		System.out.println(object);

		String id = BeanUtils.getProperty(object, "id");
		String name = BeanUtils.getProperty(object, "name");
		int age = Integer.parseInt(BeanUtils.getProperty(object, "age"));

		System.out.println("id   = " + id);
		System.out.println("name = " + name);
		System.out.println("age  = " + age);
	}

}

3.2 示例输出结果

1)
test1()

2)
test2()

时间: 2024-08-03 15:49:49

beanutils 入门的相关文章

Quartz 入门详解 专题

Cron-Expressions are used to configure instances of CronTrigger. Cron-Expressions are strings that are actually made up of seven sub-expressions, that describe individual details of the schedule. These sub-expression are separated with white-space, a

Web---演示Servlet的相关类、表单多参数接收、文件上传简单入门

说明: Servlet的其他相关类: ServletConfig – 代表Servlet的初始化配置参数. ServletContext – 代表整个Web项目. ServletRequest – 代表用户的请求. ServletResponse – 代表用户的响应. 本篇博客讲解: ServletRequest – 代表用户的请求. ServletResponse – 代表用户的响应. 表单中的多选框参数接收. 文件的上传技术. ServletRequest : ServletRequest

Struts实践入门(原创)-JSP教程,面向对象/设计

//欢迎完整引用.转载,你可以通过http://www.dev-club.com与我联系.Struts实践入门作者:八脚鱼1.简介    Struts是apache Jakarta的一个开放元码的项目(    http://jakarta.apache.org/struts/index.html),为开发web应用程序提供了一个框架(framework).Sturts建议我们使用MVC Model 2 的模式开发web应用程序.Sturts提供了Controller层组件,这些组件可以和多种已有

Java新手入门教程:新手必须掌握的30条Java基本概念

  Java新手必看教程是什么?当然是绿茶小编带来的Java入门需掌握的30个基本概念啦,掌握了这些概念对于学习Java大大有利,正在学习Java编程的同学们快来看看吧. 1.OOP中唯一关系的是对象的接口是什么,就像计算机的销售商她不管电源内部结构 是怎样的,他只关系能否给你提供电就行了,也就是只要知道can or not而不是how and why.所有的程序是由一定的属性和行为对象组成的,不同的对象的访问通过函数调用来完成,对象间所有的交流都是通过方法调用,通过对封装对象数据,很大 限度上

Python入门之modf()方法的使用

 这篇文章主要介绍了Python入门之modf()方法的使用,是Python学习当中的基础知识,需要的朋友可以参考下     modf()方法返回两个项的元组x的整数小数部分.这两个元组具有相同x符号.则返回一个浮点数的整数部分. 语法 以下是modf()方法的语法: ? 1 2 3 import math   math.modf( x ) 注意:此函数是无法直接访问的,所以我们需要导入math模块,然后需要用math的静态对象来调用这个函数. 参数 x -- 这是一个数值表达式 返回值 这种方

ios入门OC_UI晋级学什么?

1. OC 语法初步, 你可能学到面向对象最近本的概念, 并且可以大致的建立几个自以为是的类,但这仅仅是开始. 你知道为什么面向对象要有3大特性么.知道他们是用到什么设计模式的么 2. 你可能学到了NSString, NSMutableString 字符串的基本操作方法, 你可能会花大量的时间去看那些方法. 从没考虑过方法的实用性. UI方法成千上万, 大量的时间浪费到寻找上边可能会很累的. 所以, 学会现用现看 3. 你可能学到了NSArray, NSMutableArray, NSDicti

本人小白,要做ios app 需要怎么入门

问题描述 本人小白,要做ios app 需要怎么入门 本人小白,基本没有基础,准备学ios 做个app请问需要学习那些语言,用什么平台?推荐哪些书籍,十分感谢,app是一个查询类的软件,输入关键词,查找软件里数据库信息 解决方案 如果你还在上学,那么你需要基础四门课:1,计算机组成原理 2,操作系统. 3,数据结构 4,计算机网络 如果你准备速成找工作,那么你应该学习:Objective-C程序设计,swift 语法,<120天从入门到精通实战>, 当然入门最快的不是看书,是看视频,从网上找一

专访 | 杨强教授谈CCAI、深度学习泡沫与人工智能入门

7 月 22 - 23 日,由中国人工智能学会.阿里巴巴集团 & 蚂蚁金服主办,CSDN.中国科学院自动化研究所承办,作为独家直播合作伙伴的第三届中国人工智能大会(CCAI 2017)将在杭州国际会议中心盛大开幕. 作为大会主席,香港科技大学计算机与工程系主任.AAAI Fellow 杨强教授最近接受了大会记者专访.这次访谈干货满满,其中有不少话题是杨强教授首度公开谈及,比如下一个 AI 突破口.深度学习泡沫.AI 之路心得.本科生入门 AI.好学生要能教导师学习,等等. (点击阅读杨强教授历史

版本控制入门插图教程

我知道版本控制系统(VCS)很有用. 但是,我平时只是业余写一些小程序,感觉特地装一个VCS太麻烦,所以一直没有用.最近,因为想认真做一个中等规模的项目,所以决心好好学一下怎么用. 下面就是我翻译的一篇入门教程,主要解释了VCS的一些主要概念. ====================== A Visual Guide to Version Control 版本控制入门插图教程 作者:Kalid Azad 译者:阮一峰 原文网址:http://betterexplained.com/articl