zoukankan      html  css  js  c++  java
  • 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位随机的字符串,在项目中的数据库主键可以使用;

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

  • 相关阅读:
    To do list
    Spring Boot学习总结(4)——使用Springloaded进行热部署
    App后台开发运维和架构实践学习总结(2)——RESTful API设计技巧
    程序员如何成为编程高手并以此创业
    小米宋强:生态化大数据平台的深度应用实践
    Tomcat学习总结(9)——Apache Tomcat 8新特性
    Mysql学习总结(41)——MySql数据库基本语句再体会
    Git学习总结(13)——使用git.oschina作为自己的源代码在线管理库
    将学习养成习惯
    Java基础学习总结(71)——深入理解Java虚拟机内存
  • 原文地址:https://www.cnblogs.com/lthIU/p/5906335.html
Copyright © 2011-2022 走看看