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 ...
随机推荐
- [elk]kafka集群
kafka高可用 并发写 每一个分区都是一个顺序的.不可变的消息队列, 并且可以持续的添加.分区中的消息都被分了一个序列号,称之为偏移量(offset),在每个分区中此偏移量都是唯一的. 并发读 数据 ...
- Android中APK签名工具之jarsigner和apksigner详解
一.工具介绍 jarsigner是JDK提供的针对jar包签名的通用工具, 位于JDK/bin/jarsigner.exe apksigner是Google官方提供的针对Android apk签名及验 ...
- 10个最好的免费PS图象处理软件方案
说到照片和图像编辑/操纵,真的没有更好的应用,Adobe PS图象处理软件. 摄影师和创意工作室会同意这是总理的照片编辑应用期. 不幸的是,PS图象处理软件还配备了一个陡峭的学习曲线和价格标签,我们必 ...
- Spring+SpringMVC重复加载配置文件问题
sping+springmvc的框架中,IOC容器的加载过程 http://my.oschina.net/xianggao/blog/596476 基本上是先加载ContextLoaderListen ...
- Activity的Launch mode详解,A B C D的singleTask模式
本文参考了此文http://hi.baidu.com/amauri3389/blog/item/a54475c2a4b2f040b219a86a.html 另附 android task与back s ...
- 框架源码系列四:手写Spring-配置(为什么要提供配置的方法、选择什么样的配置方式、配置方式的工作过程是怎样的、分步骤一个一个的去分析和设计)
一.为什么要提供配置的方法 经过前面的手写Spring IOC.手写Spring DI.手写Spring AOP,我们知道要创建一个bean对象,需要用户先定义好bean,然后注册到bean工厂才能创 ...
- AssetManager
AssetManager用于获取assets下的资源. 1.getassets()得到AssetManager 2.AssetManager.close() 关闭AssetManager 3.Reso ...
- Matrix 高斯消元Gaussian elimination 中的complete pivoting和partial pivoting
首先科普下Pivoting的含义 一般翻译为“主元”,在对矩阵做某种算法时,首先进行的部分元素.在线性规划的单纯形法中常见.wiki的解释如下:Pivot element(the first elem ...
- 如何通过ajax来获取返回值
preface 今天使用ajax向后端取数据的时候,按照正常的写法,死活return不了值,所以看了下ajax的帮助手册,发现了这个参数async:false,这个参数是说async表示不是异步执行了 ...
- 使用Newtonsoft将DataTable转Json
Newtonsoft提供的将DataTable转成Json: /// <summary> /// DataTable转Json /// </summary> /// <p ...