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 ...
随机推荐
- Web前端开发:为何选择MVVM而非MVC
在Web中充斥着所谓的MVC框架,而在我看来,因为一些关键性的技术原因,MVC在Web前端开发中根本无法使用(对的,是无法,而不是不该) 在Web中充斥着所谓的MVC框架,而在我看来,因为一些关键性的 ...
- C#网络编程一:C#网络编程常用特性
特性一:委托 委托是C#语言中特有的概念,相当于C/C++中的函数指针,与C/C++中函数指针的不同之处是:委托是面向对象的.类型安全的和保险的,是引用类型.因此,对委托的使用要 "先定义. ...
- SVN冲突解决:当次提交的和上次提交的出现冲突
转载于知蚁博客,文章地址:http://www.letuknowit.com/archives/svn-conflict-resolution 看到那个*了吧,出现这个标记就说明本地副本的文件已经过期 ...
- setValuesForKeysWithDictionary 的用法
字典的快速赋值 setValuesForKeysWithDictionary 字数918 阅读6604 评论6 喜欢32 前言 在学习解析数据的时候,我们经常是这么写的:PersonModel.h文件 ...
- 关于一个程序的编译过程 zkjg面试
http://blog.csdn.net/gengyichao/article/details/6544266 一 以下是C程序一般的编译过程: 从图中看到: 将编写的一个c程序(源代码 )转换成可以 ...
- Splinter学习--初探3,两种方式登录QQ邮箱
目前,qq邮箱的登录方式有: 1.利用账号.密码登录 2.快捷登录,前提是你本地已有qq账号登录中 和前面一样,还是先到qq邮箱登录首页,审查页面元素,找到我们进行登录操作所相关的链接.按钮或是输入框 ...
- 让Asp.net mvc WebAPI 支持OData协议进行分页查询操作
这是我在用Asp.net mvc WebAPI 支持 OData协议 做分页查询服务时的 个人拙笔. 代码已经开发到oschina上.有兴趣的朋友可以看看,欢迎大家指出不足之处. 看过了园子里的几篇关 ...
- css3的背景颜色渐变@线性渐变
背景颜色渐变之线性渐变 语法形式: firefox浏览器 background:-moz-linear-gradient(position/deg,startColor,endColor); oper ...
- 【如何快速的开发一个完整的iOS直播app】(播放篇)
原文转自:袁峥Seemygo 感谢分享.自我学习 前言 在看这篇之前,如果您还不了解直播原理,请查看上篇文章如何快速的开发一个完整的iOS直播app(原理篇) 开发一款直播app,集成ijkpl ...
- HttpWebRequest向路由器提交基本身份验证
HttpWebRequest向路由器提交基本身份验证 服务端IIS设置为不允许匿名访问,只选择了基本身份验证,客户端使用HttpWebRequest发送一个get请求,请求一个页面. 基本身份验证,客 ...