javaWeb开发小工具--MyCommonUtils

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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位随机的字符串,在项目中的数据库主键可以使用;

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

 

以上是关于javaWeb开发小工具--MyCommonUtils的主要内容,如果未能解决你的问题,请参考以下文章

JavaWeb小项目

MyEclipse开发JavaWeb的小问题解决

购物车JavaWeb小项目简单版

如何快速去了解一个Javaweb项目?

Javaweb新手软件推荐

程序猿必备软件,JavaWeb开发工具