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 潯陽江頭夜送客 閱讀(2547) 評論(0)  編輯  收藏 所屬分類: java
          <2009年10月>
          27282930123
          45678910
          11121314151617
          18192021222324
          25262728293031
          1234567

          常用鏈接

          留言簿

          隨筆分類

          隨筆檔案

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

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 康定县| 德阳市| 同江市| 潮安县| 吴川市| 恩施市| 称多县| 武隆县| 喜德县| 潮州市| 始兴县| 黎城县| 西城区| 西安市| 鄢陵县| 宿迁市| 壶关县| 恩施市| 娱乐| 和政县| 玉山县| 宁夏| 双柏县| 无棣县| 天祝| 丹阳市| 东兰县| 墨竹工卡县| 巫溪县| 清水县| 尉犁县| 芮城县| 云和县| 湖州市| 扶沟县| 奉贤区| 喀喇沁旗| 沁水县| 深水埗区| 水城县| 资溪县|