BeanUtils工具类, 简化数据封装
* 用于封装JavaBean的, 使用该工具类需要导入jar包commons-beanutils-1.8.0.jar
1. JavaBean: 标准的Java类
1. 要求:
1. 类必须被public修饰
2. 必须提供空参的构造器
3. 成员变量必须使用private修饰
4. 提供公共setter和getter方法
2. 功能: 封装数据
2. 概念:
成员变量: 就是我们在类中用修饰符修饰的变量
属性: setter和getter方法截取后的产物
列如: getUsername() -> Username -> username
3. 方法:
1. setProperty(): 设置属性
2. getProperty(): 获取属性
3. poulate(Object obj, Map map): 封装数据, 将map集合的键值对信息, 封装到对应的JavaBean对象中
4. setProperty() getProperty()代码案例:
package cn.xiaoge.test;
import cn.xiaoge.domain.User;
import org.apache.commons.beanutils.BeanUtils;
import org.junit.Test;
import java.lang.reflect.InvocationTargetException;
public class BeanUtilsTest {
@Test
public void test(){
User user = new User();
try {
BeanUtils.setProperty(user, "username", "zhangsan");
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
}
System.out.println(user);
try {
String username = BeanUtils.getProperty(user, "username");
System.out.println(username);
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
} catch (NoSuchMethodException e) {
e.printStackTrace();
}
}
}
5. poulate代码案例:
Map<String, String[]> userMap = request.getParameterMap();
User loginUser = new User();
try {
BeanUtils.populate(loginUser, userMap);
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
}