posts - 5,  comments - 6,  trackbacks - 0
在cglib 中 BeanMap的用法

1.导入cglib-nodep-2.1.3.jar
 
2.在javaBean 对象中重写toString()方法  比如是UserManageVo.Java
 public String toString(){
  return BeanTools.getBeanDesc(UserManageVo.this);
 }
java 代码
 1package BeanUtils;
 2
 3import net.sf.cglib.beans.BeanMap;
 4
 5public 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
posted on 2009-10-19 21:41 浔阳江头夜送客 阅读(2537) 评论(0)  编辑  收藏 所属分类: java

只有注册用户登录后才能发表评论。


网站导航:
 
<2009年10月>
27282930123
45678910
11121314151617
18192021222324
25262728293031
1234567

常用链接

留言簿

随笔分类

随笔档案

myeclipse6.5上基于JAX-WS开发Webservice(中文示例)

搜索

  •  

最新评论

阅读排行榜

评论排行榜