A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

【郑州校区】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. 将jar包Build 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:  属性具体的值
1.1.1 实例代码
[AppleScript] 纯文本查看 复制代码
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);

}

}
1.1.2 方法总结
三个方法底层是通过反射实现, 而且反射操作的是setXxx方法和getXxx方法.
所以编写JavaBean的时候一定要注意格式
传智播客·黑马程序员郑州校区地址
河南省郑州市 高新区长椿路11号大学科技园(西区)东门8号楼三层
联系电话 0371-56061160/61/62
来校路线  地铁一号线梧桐街站A口出

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马