第一个类:测试类
package com.victorzhang.tools.commons;
import java.util.HashMap;
import java.util.Map;
import org.junit.Test;
/**
* 对CommonUtils类的方法进行测试
* @author victor
*
*/
public class CommonUtilsTest {
/**
* 测试CommonUtils类中uuid();返回的一个长32位的大写字符串
*/
@Test
public void uuidTest(){
String s = CommonUtils.uuid();
System.out.println(s);
}
/**
* 测试CommonUtils类中toBean();将map类型映射到Bean类型中
*/
@Test
public void toBeanTest(){
Map<String, String> map = new HashMap<String, String>();
map.put("pid", CommonUtils.uuid());
map.put("age", "24");
map.put("birthday", "1990-09-29");
map.put("pname", "victorzhang");
Person person = CommonUtils.toBean(map, Person.class);
System.out.println(person);
}
}
package com.victorzhang.tools.commons;
import java.util.Map;
import java.util.UUID;
import org.apache.commons.beanutils.BeanUtils;
import org.apache.commons.beanutils.ConvertUtils;
/**
* 类提供生成32位重复字符串和map转换成对象工呢过
* @author victor
*
*/
public class CommonUtils {
/**
* 返回一串大写的32位字符串
* @return
*/
public static String uuid(){
return UUID.randomUUID().toString().replace("-", "").toUpperCase();
}
/**
* map
* @param map
* @param clazz
* @return
*/
@SuppressWarnings("rawtypes")
public static <T> T toBean( Map map, Class<T> clazz){
try {
T bean = clazz.newInstance();
ConvertUtils.register(new DateConvert(), java.util.Date.class);
BeanUtils.populate(bean, map);
return bean;
} catch (Exception e) {
throw new RuntimeException(e);
}
}
}
package com.victorzhang.tools.commons;
import java.util.Date;
public class Person {
private String pname;
private String pid;
private int age;
private Date birthday;
public String getPname() {
return pname;
}
public void setPname(String pname) {
this.pname = pname;
}
public String getPid() {
return pid;
}
public void setPid(String pid) {
this.pid = pid;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public Date getBirthday() {
return birthday;
}
public void setBirthday(Date birthday) {
this.birthday = birthday;
}
@Override
public String toString() {
return "Person [pname=" + pname + ", pid=" + pid + ", age=" + age
+ ", birthday=" + birthday + "]";
}
}
第四格类:格式转换类(String ----> Date)
package com.victorzhang.tools.commons;
import java.<span style="font-family: Arial, Helvetica, sans-serif;">util.Date;</span>
import org.apache.commons.beanutils.Converter;
/**
* 把String转换成java.util.Date的类型转换器
* @author victor
*
*/
public class DateConvert implements Converter {
@Override
@SuppressWarnings("rawtypes")
public Object convert(Class type, Object value) {
if(value == null) return null;//如果为null类型,则返回null
if(!(value instanceof String)) return value;//如果value不属于String类型,则直接返回
String val = (String) value;//其他情况下,将value强制类型转换成String类型
//SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");//日期格式转换
Date date = Date.valueOf(val);
return date;
}
}