net.sf.cglib.beans.BeanMap 重写toString()的用法

net.sf.cglib.beans.BeanMap 重写toString()的用法
在cglib 中 BeanMap的用法

1.导入cglib-nodep-2.1.3.jar
 
2.在javaBean 对象中重写toString()方法  比如是UserManageVo.Java
 public String toString(){
  return BeanTools.getBeanDesc(UserManageVo.this);
 }
java 代码
 1 package  BeanUtils;
 2
 3 import  net.sf.cglib.beans.BeanMap;
 4
 5 public   class  BeanTools  {
 6    private static String LINE = System.getProperty("line.separator""\r\n");
 7
 8    /** *//**
 9     * 对象中重写toString()方法,在打印日志的时候调用
10     * @param obj
11     * @return
12     * @return String
13     */

14    public static String getBeanDesc(Object obj) {
15        StringBuffer bf = new StringBuffer();
16        bf.append(LINE + "{" + LINE + "Class = " + obj.getClass().getName()
17                + LINE);
18        BeanMap beanMap = BeanMap.create(obj);
19        for (Object object : beanMap.keySet()) {
20            Object value = beanMap.get(object);
21            if (null != value) {
22                /** *//**
23                 * 这是定义对象的是时候用到
24                 */

25                String className = value.getClass().getName();
26                if (className.startsWith("test.UserManageEvent")
27                        || className.startsWith("test.BasicEvent")
28                        || className.startsWith("test.UserManageVo")) {
29                    bf.append(object + " = " + getBeanDesc(value) + LINE);
30                }

31
32                /** *//**
33                 * 这是数组对象的是时候用到
34                 */

35                if (className.startsWith("Ltest.UserManageEvent")
36                        || className.startsWith("Ltest.BasicEvent")
37                        || className.startsWith("Ltest.UserManageVo")) {
38                    Object[] objs = (Object[]) value;
39                    for (int i = 0; i < objs.length; i++{
40                        bf.append(object + " = " + getBeanDesc(objs[i]) + LINE);
41                    }

42                }

43                
44                /** *//**
45                 * 对String数组重写toString()方法
46                 */

47                if (className.startsWith("[Ljava.lang.String")) {
48                    Object[] objs = (Object[]) value;
49                    for (int i = 0; i < objs.length; i++{
50                        bf.append(object + "[" + i + "]" + " = " + objs[i]
51                                + LINE);
52                    }

53                }

54            }

55            bf.append(object + " = " + value + LINE);
56        }

57        bf.append("}");
58        return bf.toString();
59    }

60}

java代码
/Files/yjlongfei/beanUtil.rar

你可能感兴趣的:(net.sf.cglib.beans.BeanMap 重写toString()的用法)