BeanUtils --- 封装属性到对象中

Posted 黑土白云

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了BeanUtils --- 封装属性到对象中相关的知识,希望对你有一定的参考价值。

1.注意需要两个jar包: commons-beanutils-1.8.3.jar  和 commons-logging-1.1.3.jar

public class Admin {//省略getset等通用方法
	private int id;
	private String username;
	private String pwd;
	private Date date;
}

public class APP {
	@Test
	public void testBeanUtils() throws Exception, InvocationTargetException{
		Admin admin = new Admin();
		//方式1
		admin.setUsername("妹子");
		admin.setPwd("123");
		System.out.println(admin);
		
		//方式2
		BeanUtils.copyProperty(admin, "username", "zhangsan");
		BeanUtils.setProperty(admin, "pwd", "5555");
		System.out.println(admin.getUsername());
		System.out.println(admin.getPwd());
		
		//方式3
		Map<String,Object> map = new HashMap<>();
		map.put("username", "zhangsan");
		map.put("pwd", "586665");
		BeanUtils.populate(admin, map);
		System.out.println(admin);
		
		//方式4  Date 转化  ,需要注册一个转化器
		ConvertUtils.register(new DateConvert_MY(), Date.class);
		Map<String,Object> map2= new HashMap<>();
		map2.put("username", "zhangsan");
		map2.put("pwd", "586665");
		map2.put("date", "2016-09-24");
		BeanUtils.populate(admin, map2);
		System.out.println(admin);
	}
	
}

class DateConvert_MY implements Converter{
	@Override
	public Object convert(Class type, Object value) {
		if(Date.class != type) return null;
		if(null == value || "".equals(value.toString().trim())) return null;
		try {
			return new SimpleDateFormat("yyyy-MM-dd").parse(value.toString());
		} catch (ParseException e) {
			throw new RuntimeException(e);
		}
	}
}

  

以上是关于BeanUtils --- 封装属性到对象中的主要内容,如果未能解决你的问题,请参考以下文章

0.1.BeanUtils工具

beanutils的使用

Beanutils工具类,封装数据的三种方式,单例模式

使用BeanUtils.populate将map集合封装为bean对象

BeanUtils工具

BeanUtils介绍及其使用