【郑州校区】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号楼三层
|