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

          常用鏈接

          留言簿

          隨筆分類

          隨筆檔案

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

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 江油市| 石门县| 梅州市| 慈溪市| 镇江市| 班戈县| 富蕴县| 兴国县| 沁源县| 兴和县| 沙坪坝区| 博野县| 马尔康县| 衡南县| 道孚县| 汕头市| 深圳市| 峡江县| 治县。| 凭祥市| 忻城县| 新乡县| 栾川县| 芜湖县| 新晃| 大竹县| 合肥市| 广西| 邹平县| 沭阳县| 青冈县| 崇信县| 象山县| 陆良县| 明星| 阳春市| 叶城县| 临城县| 龙川县| 永德县| 合作市|