java中BeanUtils的概述

本文介绍Apache Commons提供的BeanUtils组件,该组件简化了JavaBean的数据封装操作。文章详细讲解了BeanUtils的常用方法,如setProperty、getProperty及populate,并通过示例展示了如何使用这些方法。


java中BeanUtils的概述




BeanUtils的由来

 

之前我们使用的类都是来自Java编写好的源代码

而这个BeanUtils却是一个叫做Apache的组织编写.

那么这个组织编写的代码当中有一个系列可以很方便的提高我们今后的开发效率.

这个系列为Commons, BeanUtils就是其中之一

1.1.1 准备工作

1. 导入两个jar

commons-beanutils-1.8.3.jar

commons-logging-1.1.1.jar

2. jarBuild path 配置到当前的classpath环境变量中



1.1 BeanUtils的常用方法

static void    setProperty(Object bean, String name, Object value) 
static String getProperty(Object bean, String name) 
static void    populate(Object bean, Map properties) 

setProperty  用来给对象中的属性赋值(了解)

参数1: 需要设置属性的对象

参数2: 需要修改的属性名称

参数3: 需要修改的具体元素

getProperty 用来获取对象中的属性(了解)

参数1: 要获取的javaBean对象

参数2: 对象中的哪个属性

Populate 用来给对象中的属性赋值(掌握)

 

参数1: 要设置属性的对象

参数2: 将属性以Map集合的形式传入

Key : 属性的名称

Value:  属性具体的值



package com.itheima_02;

import java.lang.reflect.InvocationTargetException;
import java.util.HashMap;
import java.util.Map;

import org.apache.commons.beanutils.BeanUtils;

/*
 * BeanUtils:Apache commons提供的一个组件,主要功能就是为了简化JavaBean封装数据的操作
 * 			static void	setProperty(Object bean, String name, Object value) 
 * 			static String getProperty(Object bean, String name) 
 * 			static void	populate(Object bean, Map properties) 
 * 
 * 注意:BeanUtils的setProperty和getProperty方法底层并不是直接操作成员变量,而是操作和成员变量名有关的get和set方法
 */
public class BeanUtilsDemo {
	public static void main(String[] args) throws ReflectiveOperationException  {
		//static void	populate(Object bean, Map properties) 
		Person p = new Person();
		
		Map<String,Object> map = new HashMap<String,Object>();
		map.put("name", "lisi");
		map.put("age", 18);
		map.put("gender", "male");
		
		BeanUtils.populate(p,map);
		System.out.println(p);
		
	}

	private static void method() throws IllegalAccessException, InvocationTargetException, NoSuchMethodException {
		Person p = new Person();
		//System.out.println(p);
		
		//static void	setProperty(Object bean, String name, Object value) :给JavaBean对象的成员变量进行赋值
		BeanUtils.setProperty(p, "name", "zhangsan");
		//BeanUtils.setProperty(p, "age", 18);
		//System.out.println(p);
		
		//static String getProperty(Object bean, String name) 
		String name = BeanUtils.getProperty(p, "name");
		System.out.println(name);
	}
}




方法总结

三个方法底层是通过反射实现而且反射操作的是setXxx方法和getXxx方法.

所以编写JavaBean的时候一定要注意格式





评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值