javaWeb开发小工具--MyCommonUtils

MyCommonUtils

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

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

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

编辑器:MyEclipse 10.0

1.依赖的jar包:

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

日志文件:log4j.properties

 1 log4j.rootLogger=INFO, stdout, R
 2
 3 #\u5C06\u65E5\u5FD7\u4FE1\u606F\u8F93\u51FA\u5230\u63A7\u5236\u53F0
 4 log4j.appender.stdout=org.apache.log4j.ConsoleAppender
 5 log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
 6 log4j.appender.stdout.layout.ConversionPattern=%d[%t]%-5p (%c:%L):-- %m%n
 7
 8 #\u5C06\u65E5\u5FD7\u4FE1\u606F\u8F93\u51FA\u5230\u6587\u4EF6
 9 log4j.appender.R=org.apache.log4j.RollingFileAppender
10 log4j.appender.R.File=D:\\logging.log
11 log4j.appender.R.MaxFileSize=100KB
12 # Keep one backup file
13 log4j.appender.R.MaxBackupIndex=1
14 log4j.appender.R.layout=org.apache.log4j.PatternLayout
15 log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n
16 log4j.logger.com.foo=WARN

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

 1 package com.lxf.myCommonUtils;
 2
 3 import java.lang.reflect.InvocationTargetException;
 4 import java.util.Map;
 5 import java.util.UUID;
 6
 7 import org.apache.commons.beanutils.BeanUtils;
 8 import org.apache.commons.beanutils.ConvertUtils;
 9 import org.apache.commons.beanutils.converters.DateConverter;
10
11 /**
12  * 常用类工具--CommonUtils
13  *
14  * @author lxf
15  *
16  */
17 public class MyCommonUtils
18 {
19     /**
20      * 1.生成随机的32位长的字符串
21      */
22     public static String uuid()
23     {
24         //这里要用到java.util.UUID包中的randomUUID()方法.
25         //String uuid = UUID.randomUUID().toString();
26
27         //生成的格式为:88c7f729-037e-4f4d-a361-71cd91f393a1
28         //如果不想要"-",可以使用下面的描述
29         String uuid = UUID.randomUUID().toString().replace("-", "");
30         return uuid;
31     }
32
33     /**
34      * 2.将Map中的数据封装到Bean中
35      * @param map
36      * @param clazz
37      * @return
38      */
39     public static<T> T toBean(Map map,Class<T> clazz)
40     {
41         /**
42          * 1.通过clazz创建实例;
43          * 2.通过BeanUtils.populate()将Map封装到Bean中;
44          */
45         T bean = null;
46         try
47         {
48             bean = clazz.newInstance();
49             ConvertUtils.register(new DateConverter(), java.util.Date.class);
50             BeanUtils.populate(bean, map);
51         }
52         catch (InstantiationException e)
53         {
54             e.printStackTrace();
55         }
56         catch (IllegalAccessException e)
57         {
58             e.printStackTrace();
59         }
60         catch (InvocationTargetException e)
61         {
62             e.printStackTrace();
63         }
64         return bean;
65
66     }
67
68 }

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位随机的字符串,在项目中的数据库主键可以使用;

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

时间: 2024-11-13 11:56:35

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

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

本次介绍的是,在javaWeb开发中,我们不免会遇到发送邮件的需求,比如:用户注册账号,需要激活登录,以及服务器定期向会员发送礼品信息等.所以参考有关资料,写了这个MailUtils工具类. 1.MailUtils的概述 这个MailUtils工具类底层使用了javax.mail包里面的API.所以我们要导入依赖的jar包----mail.jar和activation.jar两个jar包. 一封邮件基本由发件人.收件人.抄送人(可选).标题.正文.附件组成.这里我们要介绍的是邮件的发送. 在这个

&lt;&lt;&lt; 日常辅助开发小工具

Notcpad++ Notepad++ 是一款非常有特色的编辑器,Notepad++是免费开源软件,内置支持多达 27 种语法高亮度显示 大小:7.3M FSCapture 无简介 大小:7.3M -------------------------------------------------------------------------------------------------------------------------------------------------------

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

Android 开发小工具之:Tools 属性 http://blog.chengyunfeng.com/?p=755#ixzz4apLZhfmi 今天来介绍一些 Android 开发过程中比较有用但是大家又不常用的小工具.这些小工具可以提高 Android 应用开发的效率.还可以提高代码质量.所以还是有必要使用的. 首先介绍布局文件中的 tools 属性. 如果你用 Android Studio 创建一个简单的示例项目,在生成的布局文件中会有这么一行内容: xmlns:tools="http:

C# 接口开发小工具 笔记

做了2年的接口开发,主要给移动端提供接口,整理了一套小工具,在这里记录一下. 1.非空字段检测 接口某些字段不能为空,最开始进行空值检测是在方法里面,一个参数一个参数手动的检测是否为空,某些方法非空字段十几个的时候,代码臃肿,看着恶心,写着也烦,于是就利用特性和反射实现了自动空值检测. //特性声明 [AttributeUsage(AttributeTargets.Property)] public class NotNull : Attribute { } //使用方式 public clas

好用的前端开发小工具

这是一款集截屏(支持自定义尺寸).屏幕录影机.屏幕拾色器.屏幕放大镜.屏幕标尺.PDF图片转换.图片编辑等等诸多实用功能于一身的小工具, 完全免费,极限轻量化,软件总体积仅1.63 MB . 链接: https://pan.baidu.com/s/15Mii0BiLcD3Pr2_OXAkAWw 提取码: guqp 原文地址:https://www.cnblogs.com/lyyo/p/11491349.html

借开发小工具做工作感悟

近几个月,项目比较多,发现在开发自测的过程中比较麻烦,一句话就是反复重复,且效率也是一般的.感觉整个组都差不多的状态. 为了更高效的工作,开发一些小的工具.安逸这么久了,也该做些总结了. 工作总结: 毕业也快两年了,又是一次面临选择的时候来了.在目前的公司,生活很安逸,前一年工作不忙,后一年相对要忙一些,主要是自己独立负责了很多项目,而且还要写设计和开发,同时也要处理客户各种需求. 在一个成熟型的,传统型的大公司,最明显的一个特征就是技术相对旧一些,不过也是主流.稳定的技术.分工方面,也比较细.

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

兄弟们我拖控件拖到了mac系统去了, 工具上传到百度网盘,下载地址 链接:https://pan.baidu.com/s/1Q64zoRjE3u66jJnzF8rhww提取码:ljx2 这款工具我是用微软的xamarin.mac技术开发的,驻留在menubar上如下图所示 Image是自动上传剪贴板的图片工具 Image是监听剪切板有没有复制图片,有的话自动把图片上传到服务器,并且生成一个 markdown的图片并且赋值到剪贴板,可以直接在写markdown的时候粘贴,是方便写markdwon插

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

欢迎大家关注腾讯云技术社区-博客园官方主页,我们将持续在博客园为大家推荐技术精品文章哦~ 作者:姚志锋 一.Hugo插件 -- 打印方法运行时间 首先申明下,此Hugo非 彼Hugo(Hugo是由Go语言实现的静态网站生成器). Hugo插件作用 : 能够计算并打印一个方法的输入参数和函数的运行时间 Hugo插件应用场景: 处理Android 应用卡顿问题 (1)先看实例 1)在对应方法处标注@DebugLog SearchResultPanel::dispatchResult处标记@Debug

Android 程序猿之必备10种开发小工具

十一提前放“价”,北风网折上折,送豪礼 具体活动详情请点击:http://www.ibeifeng.com/online101.html 活动时间:2014.9.24-2014.9.25 Android SDK 本身包含很多帮助开发人员设计.开发.测试和发布 Android 应用的工具,在本文中,我们将讨论 10 个最常用的工具. #1: LogCat LogCat是Android中一个命令行工具,可以用于得到程序的log信息.Android日志系统提供了记录和查看系统调试信息的功能.日志都是从