首页 > 编程语言 > 详细

Java-No.13 Apache Commons工具集整理

时间:2015-10-13 14:01:12      阅读:265      评论:0      收藏:0      [点我收藏+]

Apache Commons工具类整理如下:

技术分享

1、BeanUtils

package com.shma.common.beanutils;

import java.lang.reflect.InvocationTargetException;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;

import org.apache.commons.beanutils.BeanUtils;
import org.apache.commons.beanutils.ConvertUtils;
import org.apache.commons.beanutils.Converter;
import org.apache.commons.beanutils.locale.converters.DateLocaleConverter;
import org.junit.Test;

/**
 * JavaBean操作工具类
 * @author admin
 *
 */
public class BeanUtilsTest {

	@Test
	public void testProperty01() throws ClassNotFoundException,
			InstantiationException, IllegalAccessException,
			InvocationTargetException {

		Class<?> clazz = Class.forName("com.shma.common.beanutils.Person");
		Person person = (Person) clazz.newInstance();

		BeanUtils.setProperty(person, "name", "张三");
		
		//使用默认的日期格式化
		ConvertUtils.register(new DateLocaleConverter(), Date.class);
		BeanUtils.setProperty(person, "date", "1989-12-07");
		
		System.out.println(person);

	}
	
	public Person testProperty02() throws IllegalAccessException, InvocationTargetException {
		Person person = new Person();
		
		BeanUtils.setProperty(person, "id", 1);
		BeanUtils.setProperty(person, "name", "李四");
		
		ConvertUtils.register(new Converter() {
			
			@Override
			public Date convert(Class clazz, Object value) {
				if(value == null)
					return null;
				SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
				Date date = null;
				try {
					date = sdf.parse(String.valueOf(value));
				} catch (ParseException e) {
					e.printStackTrace();
				}
				
				return date;
			}
			
		}, Date.class);
		
		BeanUtils.setProperty(person, "date", "2015-10-13 11:53:54");
		
		System.out.println(person);
		
		return person;
	}
	
	@Test
	public void testClone() throws Exception {
		Person person = testProperty02();
		
		Person newPerson = (Person) BeanUtils.cloneBean(person);
		
		System.out.println(newPerson);
		
		System.out.println(newPerson == person);
		
	}
	
	@Test
	public void testMap2Bean() throws Exception {
		
		Map<String, Object> dataMap = new HashMap<String, Object>();
		dataMap.put("id", 2);
		dataMap.put("name", "王五");
		dataMap.put("date", new SimpleDateFormat("yyyy-MM-dd").format(new Date()));
		
		// map转bean
		Person person = new Person();
		ConvertUtils.register(new DateLocaleConverter(), Date.class);
		BeanUtils.populate(person, dataMap);
		System.out.println(person);
		
		// bean转map
		Person person2 = testProperty02();
		Map<String, String> newDataMap = BeanUtils.describe(person2);
		System.out.println(newDataMap);
		
	}

}

package com.shma.common.beanutils;

import java.util.Date;

public class Person {

	private int id;
	
	private String name;
	
	private Date date;

	public Person() {
		super();
	}

	public Person(int id, String name, Date date) {
		super();
		this.id = id;
		this.name = name;
		this.date = date;
	}

	public int getId() {
		return id;
	}

	public void setId(int id) {
		this.id = id;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public Date getDate() {
		return date;
	}

	public void setDate(Date date) {
		this.date = date;
	}

	@Override
	public String toString() {
		return "Person [id=" + id + ", name=" + name + ", date=" + date + "]";
	}

}


Java-No.13 Apache Commons工具集整理

原文:http://my.oschina.net/shma1664/blog/516250

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!