java之beanutils使用
介绍
BeanUtils是Apache Commons组件的成员之一, 主要用于简化JavaBean封装数据的操作。
使用
有如下 javabean :
package com.zze.bean;
import java.util.Date;
public class User {
public User() {
}
public User(String name, Integer age, Date birthday) {
this.name = name;
this.age = age;
this.birthday = birthday;
}
private String name;
private Integer age;
private Date birthday;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
public Date getBirthday() {
return birthday;
}
public void setBirthday(Date birthday) {
this.birthday = birthday;
}
@Override
public String toString() {
return "User{" +
"name='" + name + '\'' +
", age=" + age +
", birthday=" + birthday +
'}';
}
}
com.zze.bean.User
属性的取值赋值
@Test
public void test1() throws IllegalAccessException, NoSuchMethodException, InvocationTargetException {
User user = new User();
BeanUtils.setProperty(user, "name", "zhangsan");
String name = BeanUtils.getProperty(user, "name");
System.out.println(name); // zhangsan
System.out.println(user); // User{name='zhangsan', age=null, birthday=null}
}
拷贝属性值
@Test
public void test2() throws InvocationTargetException, IllegalAccessException {
User from = new User("zhangsan", 15, new Date());
User to = new User();
BeanUtils.copyProperties(to, from);
System.out.println(to); // User{name='zhangsan', age=15, birthday=Mon Jan 14 12:17:48 CST 2019}
}
封装Map数据
@Test
public void test3() throws InvocationTargetException, IllegalAccessException {
// ConvertUtils.register(new DateLocaleConverter(),Date.class);
// 自定义 String 到 Date 的转换器
ConvertUtils.register(new Converter() {
public Object convert(Class type, Object value) {
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
try {
return simpleDateFormat.parse(value.toString());
} catch (ParseException e) {
e.printStackTrace();
}
return null;
}
}, Date.class);
Map<String, String> userMap = new HashMap<>();
userMap.put("name", "zhangsan");
userMap.put("age", "18");
userMap.put("birthday", "2018-1-1");
User user = new User();
BeanUtils.populate(user, userMap);
System.out.println(user); // User{name='zhangsan', age=18, birthday=Mon Jan 01 00:00:00 CST 2018}
}
java之beanutils使用的更多相关文章
- java框架BeanUtils及路径问题练习
内省----->一个变态的反射 BeanUtils主要解决 的问题: 把对象的属性数据封装 到对象中. 使从文件中读取的数据往对象中赋值更加简单: BeanUtils的好处: 1. ...
- java中 BeanUtils.copyProperties的用法
BeanUtils提供了对java发射和自省API的包装,这里对BeanUtils.copyProperties的用法做一个小小的介绍. 通过函数名可以知道,copyProperties函数是对属性进 ...
- java使用BeanUtils封装file类型表单数据到一个对象中
package com.cc.web.servlet; import java.io.FileOutputStream; import java.io.IOException; import java ...
- java 使用BeanUtils.copyProperties(Object source,Object target) 复制字段值
BeanUtils.copyProperties(person, wsPerson);把person的字段值,复制给wsPerson // 只复制两个实体中,字段名称一样的 很有用的一个功能...
- [新手学Java]使用beanUtils控制javabean
使用BeanUtils设置/读取属性的值以及默认支持的自动转化: @Test //使用BeanUtils设置/读取属性的值以及自动转化 public void test1() throws Illeg ...
- BeanUtils 读取数据
前两篇文章都是关于setProperty的,下面来说一个关于getProperty 的小案例.如下: MyClass.java package beanutils; public class MyCl ...
- BeanUtils制作自定义的转换器
一般来说,BeanUtils自带的Converter基本上可以满足我们在开发过程中的使用了,然而很多时候我们还是需要自定义一些转换器. MyBean.java package beanutils; i ...
- java开发中beancopy比较
在java应用开发过程中不可避免的会使用到对象copy属性赋值. 1.常用的beancopy工具 组织(包) 工具类 基本原理 其他 apache PropertyUtils java反射 B ...
- Request和Response详解
转自:http://zhidao.baidu.com/link?url=8BI0cjlcFdBSJKHTZlpo874eqtbTJoZfrh3miQgM_05RvSER8skPiBc1wSPZtXT8 ...
随机推荐
- Java 多线程重排序的探究
最近在看<Java 并发编程实战>,之前对所谓的线程的重排序一脸懵逼,今天终于有了点理解. 我们先来看下这个实例Demo /** * 线程的重排序问题 * **/ public class ...
- 文档大师 在Win10 IE11下,文档集画面无法正常显示Word等Office文档的解决方法
在文档集界面中显示Word文档,是文档大师的一个核心功能. 最近在 Win10 升级到最新版后,发现 无法正常显示Office 文档的问题. 一开始以为是Word版本问题,从2007升级到2016,问 ...
- [python] ThreadPoolExecutor线程池 python 线程池
初识 Python中已经有了threading模块,为什么还需要线程池呢,线程池又是什么东西呢?在介绍线程同步的信号量机制的时候,举得例子是爬虫的例子,需要控制同时爬取的线程数,例子中创建了20个线程 ...
- C#学习笔记(35)——事件做的登录案例
说明(2018-4-9 20:11:42): 1. 先自定义了一个登录控件,可以输入账号.密码,点击登录.然后在Form1里面拖入这个控件,要求输入账号密码正确时,点击登录,控件显示绿色,否则显示红色 ...
- test001
#include <iostream> using namespace std; ][]; int main() { int num; ; ; i <= ; i++) dp[i][] ...
- 图像的下采样Subsampling 与 上采样 Upsampling
I.目的 缩小图像(或称为下采样(subsampled)或降采样(downsampled))的主要目的: 1.使得图像符合显示区域的大小: 2.生成对应图像的缩略图. 放大图像(或称为上采样(ups ...
- Linux下 编译lib3ds库
从网上下载的一个QT程序链接需要用到lib3ds.a静态库. lib3ds is an overall software library for managing 3D-Studio Release ...
- webapi 统一处理时间格式
public class UnixDateTimeConvertor : DateTimeConverterBase { public override object ReadJson(JsonRea ...
- Golang 笔记 4 defer、error、panic
一.defer语句 defer语句仅能被放置在函数或方法中.它由关键字defer和一个调用表达式组成.这里的表达式所表示的既不能是对Go语言内建函数的调用也不能是对Go语言标准库代码包unsafe中的 ...
- 新版的 Springsecurity request.getRequestDispatcher).forward(request, response); 404 问题,已解决
旧版本的 可以直接 转发登陆 request.getRequestDispatcher).forward(request, response); 新版本的转发会404,原因 SpringSecurit ...