javaWeb开发小工具--MyCommonUtils
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的更多相关文章
- javaWeb开发小工具---MailUtils及其单元测试
本次介绍的是,在javaWeb开发中,我们不免会遇到发送邮件的需求,比如:用户注册账号,需要激活登录,以及服务器定期向会员发送礼品信息等.所以参考有关资料,写了这个MailUtils工具类. 1.Ma ...
- Android 开发小工具之:Tools 属性 (转)
Android 开发小工具之:Tools 属性 http://blog.chengyunfeng.com/?p=755#ixzz4apLZhfmi 今天来介绍一些 Android 开发过程中比较有用但 ...
- xamarin开发的mac开发小工具集合
兄弟们我拖控件拖到了mac系统去了, 工具上传到百度网盘,下载地址 链接:https://pan.baidu.com/s/1Q64zoRjE3u66jJnzF8rhww提取码:ljx2 这款工具我是用 ...
- Android 开发—— 小工具,大效率
欢迎大家关注腾讯云技术社区-博客园官方主页,我们将持续在博客园为大家推荐技术精品文章哦~ 作者:姚志锋 一.Hugo插件 -- 打印方法运行时间 首先申明下,此Hugo非 彼Hugo(Hugo是由Go ...
- CSS便捷开发小工具汇总
1.Prefix free 可以帮助开发者省去编写各种CSS3属性前缀的工作,只需要在页面中引入prefixfree.js即可. 2. Normalize 是一个CSS Reset工具, 相比传统的R ...
- Qt开发小工具之gif转换器(使用QMovie截取每一帧为QImage,然后用QFile另存为图片文件)
最近,QQ上好多各种gif表情.每一个都很经典呀..于是我就想把它转换成一张张静态图片...没学过ps.于是写了几行代码.完工.核心代码如下 主要是借助QMovie类.文件读取模式选择QMovie:: ...
- android 开发小工具收集
http://blog.csdn.net/tikitoo/article/details/51089422
- Java开发 小工具累计
array to list Integer[] spam = new Integer[] { 1, 2, 3 }; List<Integer> rlt = Arrays.asList(sp ...
- iOS开发小工具
基本上在Mac Appstore里面都有,很多是免费的.因为某种原因要重装Mac系统(这么多年来首次重装Mac系统),特意整理了下备忘. 1.AppIcon: 可以瞬间把图片转换为应用所需要的Icon ...
随机推荐
- Servlet学习三——传输文件
最先在考虑传输文件时,想通过java写一个文件上传案例,传给Servlet,Servlet再保存至数据库中,但苦于一直没找到实例,听说Flex有实际的例子,就直接用Flex例子来测试了.本文的顺序为: ...
- windows访问lnmp配置的虚拟域名
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://linuxzkq.blog.51cto.com/9379412/1630217 实 ...
- php底层
http://www.phpchina.com/member.php?mod=logging&action=login 我们从未手动开启过PHP的相关进程,它是随着Apache的启动而运行的: ...
- VS C#开发中WinForm中Setting.settings的作用
.定义 在Settings.settings文件中定义配置字段.把作用范围定义为:User则运行时可更改,Applicatiion则运行时不可更改.可以使用数据网格视图,很方便: .读取配置值 tex ...
- jQuery(window) 和 jQuery(document)的区别
jQuery(window).height()代表了当前可见区域的大小,而jQuery(document).height()则代表了整个文档的高度,可视具体情况使用
- jquery EasyUI datagrid 的扩展
接触 easyui 半年,js学的不深.大神请路过. 直接扩展 添加方法: $.extend($.fn.datagrid.methods, { getSelectedIndex: function ( ...
- 修改tomcat的端口
- [z]查表空间使用情况
SELECT UPPER(F.TABLESPACE_NAME) "表空间名",D.TOT_GROOTTE_MB "表空间大小(M)",D.TOT_GROOTTE ...
- sql server 按分组拼接数据
SELECT B.id , LEFT(tempname, LEN(tempname) - 1) AS name FROM ( SELECT id , ( SELECT name + ',' FROM ...
- CentOS 6.5升级Python和安装IPython
<转自:http://www.noanylove.com/2014/10/centos-6-5-sheng-ji-python-he-an-zhuang-ipython/>自己常用.以做备 ...