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. VC++ 简单的打印功能(对话框模式下)

    不多说,直接上代码 void CParamDlg::OnBnClickedButton6() { // TODO: 在此添加控件通知处理程序代码 CDC dc; CPrintDialog dlg(TR ...

  2. 关于SqlHelper的详解

    SqlHelper是一个基于.NET Framework的数据库操作组件.组件中包含数据库操作方法.SqlHelper用于简化你重复的去写那些数据库连接(SqlConnection),SqlComma ...

  3. [转]Android音频底层调试-基于tinyalsa

    http://blog.csdn.net/kangear/article/details/38139669 [-] 编译tinyalsa配套工具 查看当前系统的声卡 tinymix查看混响器 使用ti ...

  4. iOS开发app启动原理及视图和控制器的函数调用顺序

    main()函数是整个程序的入口,在程序启动之前,系统会调用exec()函数.在Unix中exec和system的不同在于,system是用shell来调用程序,相当于fork+exec+waitpi ...

  5. dma_ops

    kernel中的dma缓存区管理层操作统一实现在  struct dma_map_ops 中: dma缓存区分配函数的具体实现参考: http://www.aichengxu.com/view/599 ...

  6. 个人关于React的一些理解

    ##React背景 React是当前前端最火的框架,它的理念思想及构建方法比AngularJS更适合做webApp. 它是由facebook团队研发并开源到社区,所以它有很强大的技术背景,而且它的架构 ...

  7. java操作数据库

    增加 public String addParent(Parent pp) { Connection conn=new ConntionUtil().openConnection(); Prepare ...

  8. MySQL查询今天/本周/上周/本月/上个月份的数据

    MySQL查询的方式很多,下面为您介绍的MySQL查询实现的是查询本周.上周.本月.上个月份的数据,如果您对MySQL查询方面感兴趣的话,不妨一看. 查询当前今天的数据 SELECT name,sub ...

  9. 初步认识html以及表格的制作

    12.21,冬至,天空中还下着小雨,雾霾也没有散去,但是也没有冲散节日的气氛,心情也是倍儿好. 今天学习了不少的内容,对我来说是对之前所学的一个巩固,内容比较多也比较杂乱一些,下面以例子的形式来表现: ...

  10. ajax省市区三级联动

    jdbc+servlet+ajax开发省市区三级联动 技术点:jdbc操作数据库,ajax提交,字符拦截器,三级联动 特点:局部刷新达到省市区三级联动,举一反三可以做商品分类等 宗旨:从实战中学习 博 ...