MyCommonUtils

参考一些资料,写了这个工具类。在这个工具类中,主要实现了2个方法:

1.生成随机的序列号 uuid();

2.将Map中的数据封装到javaBean对象中toBean(Map map,Class<T> clazz);

编辑器:MyEclipse 10.0

1.依赖的jar包:

2.目录结构及日志文件的配置:

日志文件:log4j.properties

 log4j.rootLogger=INFO, stdout, R

 #\u5C06\u65E5\u5FD7\u4FE1\u606F\u8F93\u51FA\u5230\u63A7\u5236\u53F0
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d[%t]%-5p (%c:%L):-- %m%n #\u5C06\u65E5\u5FD7\u4FE1\u606F\u8F93\u51FA\u5230\u6587\u4EF6
log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.File=D:\\logging.log
log4j.appender.R.MaxFileSize=100KB
# Keep one backup file
log4j.appender.R.MaxBackupIndex=1
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n
log4j.logger.com.foo=WARN

3.MyCommonUtils的具体实现【代码清单--1】

 package com.lxf.myCommonUtils;

 import java.lang.reflect.InvocationTargetException;
import java.util.Map;
import java.util.UUID; import org.apache.commons.beanutils.BeanUtils;
import org.apache.commons.beanutils.ConvertUtils;
import org.apache.commons.beanutils.converters.DateConverter; /**
* 常用类工具--CommonUtils
*
* @author lxf
*
*/
public class MyCommonUtils
{
/**
* 1.生成随机的32位长的字符串
*/
public static String uuid()
{
//这里要用到java.util.UUID包中的randomUUID()方法.
//String uuid = UUID.randomUUID().toString(); //生成的格式为:88c7f729-037e-4f4d-a361-71cd91f393a1
//如果不想要"-",可以使用下面的描述
String uuid = UUID.randomUUID().toString().replace("-", "");
return uuid;
} /**
* 2.将Map中的数据封装到Bean中
* @param map
* @param clazz
* @return
*/
public static<T> T toBean(Map map,Class<T> clazz)
{
/**
* 1.通过clazz创建实例;
* 2.通过BeanUtils.populate()将Map封装到Bean中;
*/
T bean = null;
try
{
bean = clazz.newInstance();
ConvertUtils.register(new DateConverter(), java.util.Date.class);
BeanUtils.populate(bean, map);
}
catch (InstantiationException e)
{
e.printStackTrace();
}
catch (IllegalAccessException e)
{
e.printStackTrace();
}
catch (InvocationTargetException e)
{
e.printStackTrace();
}
return bean; } }

4.测试类(JUnit4)【代码清单---2】

package com.lxf.test;

import java.util.HashMap;
import java.util.Map; import org.apache.log4j.Logger;
import org.junit.Test; import com.lxf.bean.Person;
import com.lxf.myCommonUtils.MyCommonUtils; /**
* 工具测试类
* @author Administrator
*
*/
public class MyUtilsTest
{
private static final Logger LOGGER = Logger.getLogger(MyUtilsTest.class);
/**
* MyCommonUtils类的uuid()方法
*/
@Test
public void testUuid()
{
String uuid = MyCommonUtils.uuid();
LOGGER.info(uuid);
} /**
* MyCommonUtils类的toBean()方法
*/
@Test
public void testToBean()
{
//1.创建Map实例
Map<String,Object> map = new HashMap<String,Object>(); /**
* 这里要保证的是map中的属性名要和bean中的属性名相同,
* 类型的话,toBean 会自动转换
*/
map.put("pId", "001");
map.put("pName", "Jack");
map.put("pAge","23"); //2.通过Map的数据来创建Person类的javaBean.
Person person1 = MyCommonUtils.toBean(map, Person.class);
System.out.println(person1);
} }

5.运行结果

6.后期补充

  uuid()方法可以生成32位随机的字符串,在项目中的数据库主键可以使用;

  另外,也可以用作软件的注册码。

javaWeb开发小工具--MyCommonUtils的更多相关文章

  1. javaWeb开发小工具---MailUtils及其单元测试

    本次介绍的是,在javaWeb开发中,我们不免会遇到发送邮件的需求,比如:用户注册账号,需要激活登录,以及服务器定期向会员发送礼品信息等.所以参考有关资料,写了这个MailUtils工具类. 1.Ma ...

  2. Android 开发小工具之:Tools 属性 (转)

    Android 开发小工具之:Tools 属性 http://blog.chengyunfeng.com/?p=755#ixzz4apLZhfmi 今天来介绍一些 Android 开发过程中比较有用但 ...

  3. xamarin开发的mac开发小工具集合

    兄弟们我拖控件拖到了mac系统去了, 工具上传到百度网盘,下载地址 链接:https://pan.baidu.com/s/1Q64zoRjE3u66jJnzF8rhww提取码:ljx2 这款工具我是用 ...

  4. Android 开发—— 小工具,大效率

    欢迎大家关注腾讯云技术社区-博客园官方主页,我们将持续在博客园为大家推荐技术精品文章哦~ 作者:姚志锋 一.Hugo插件 -- 打印方法运行时间 首先申明下,此Hugo非 彼Hugo(Hugo是由Go ...

  5. CSS便捷开发小工具汇总

    1.Prefix free 可以帮助开发者省去编写各种CSS3属性前缀的工作,只需要在页面中引入prefixfree.js即可. 2. Normalize 是一个CSS Reset工具, 相比传统的R ...

  6. Qt开发小工具之gif转换器(使用QMovie截取每一帧为QImage,然后用QFile另存为图片文件)

    最近,QQ上好多各种gif表情.每一个都很经典呀..于是我就想把它转换成一张张静态图片...没学过ps.于是写了几行代码.完工.核心代码如下 主要是借助QMovie类.文件读取模式选择QMovie:: ...

  7. android 开发小工具收集

    http://blog.csdn.net/tikitoo/article/details/51089422

  8. Java开发 小工具累计

    array to list Integer[] spam = new Integer[] { 1, 2, 3 }; List<Integer> rlt = Arrays.asList(sp ...

  9. iOS开发小工具

    基本上在Mac Appstore里面都有,很多是免费的.因为某种原因要重装Mac系统(这么多年来首次重装Mac系统),特意整理了下备忘. 1.AppIcon: 可以瞬间把图片转换为应用所需要的Icon ...

随机推荐

  1. VSS记住用户名和密码

    计算机-属性-高级系统设置-环境变量 新建两个环境变量如下:        SSUSER(VSS的用户名)        SSPWD(VSS的密码)

  2. iOS开发XCODE5 SVN配置 使用办法 (转) 收藏一下

    标签: xcode5svn xcodesvn使用 xcode自带的svn xcodesvn版本操作 xcode自带svn版本   这两天响应老板要求,把所有代码放到公司的SVN服务器上,按照我的想法肯 ...

  3. ZOJ 3209 Treasure Map (Dancing Links)

    Treasure Map Time Limit: 2 Seconds      Memory Limit: 32768 KB Your boss once had got many copies of ...

  4. hdu 1398 Square Coins (母函数)

    Square Coins Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Tota ...

  5. css:去掉手机浏览器上点击时的边框和阴影

    outline:none;(去掉蓝框) -webkit-tap-highlight-color:rgba(0,0,0,0) ;(去掉阴影)适用于ios,Android

  6. Huffman编码

    #define _CRT_SECURE_NO_WARNINGS #include <iostream> #include <cstdio> #include <cstri ...

  7. nignx软件安装与调试

    1.通过yum或下载相应软件包安装nginx所需要的辅助软件:pcre.pcre-devel.openssl.openssl-devel.make.gcc.gcc+ 2.解压已经下载好的nginx软件 ...

  8. ZooKeeper概述(转)

    译自http://zookeeper.apache.org/doc/trunk/zookeeperOver.html ZooKeeper是一个用于分布式应用的开源分布式协调服务.它提供了简单的原语集合 ...

  9. Linux cp命令使用说明

    Linux cp命令使用说明 --功能说明:复制目录或文件 --命令格式:cp  [参数]  <文件或目录>  <文件或目录> --常用参数: -R 复制目录 -i 覆盖文件之 ...

  10. 无法在Web服务器上启动调试,已附加了一个调试器

    运行环境:开发环境:Windows7旗舰版64bit.VisualStudio2008 With SP1.ArcEngine10.0.NetFrameWork4.0.IIS7和C#开发语言. 问题描述 ...