<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆 - 6  文章 - 129  trackbacks - 0
    <2025年5月>
    27282930123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    常用鏈接

    留言簿(14)

    隨筆檔案(6)

    文章分類(467)

    文章檔案(423)

    相冊

    收藏夾(18)

    JAVA

    搜索

    •  

    積分與排名

    • 積分 - 825769
    • 排名 - 49

    最新評論

    閱讀排行榜

    評論排行榜

     通過面向接口編程實現日志輸出
    (1)建立一個接口TimeBookInterface,代碼如下
    /*******TimeBookInterface.java********/
    package com.gc.dao;

    public interface TimeBookInterface{

     public void doAuditing(String name);
    }
    (2)編寫接口實現類,代碼如下
    /*******TimeBook.java********/
    package com.gc.dao.impl;

    public class TimeBook implements TimeBookInterface{

     public void doAuditing(String name){
     
      //審查數據的相關程序
      ......
     }
    }
    (3)編寫一個代理類,用來實現日志輸出,其代碼如下
    /*******TimeBookProxy.java********/
    package com.gc.dao.impl;

    import org.apache.log4j.Level;
    import org.apache.log4j.Logger;

    public class TimeBookProxy{

     private Logger logger = Logger.getLogger(this.getClass().getName());
     private TimeBookInterface timeBookInterface;
     public TimeBookProxy(TimeBookInterface timeBookInterface){
     
      this.timeBookInterface = timeBookInterface;
     }
     //實際業務處理
     public void doAuditing(String name){
     
      logger.log(Level.INFO,name+"開始審核數據");
      timeBookInterface.doAuditing(name);
      logger.log(Level.INFO,name+"審核數據結束");
     }
    }
    (4)編寫測試代碼類
    ......
    public static void main(String[] args){
    //針對接口進行編程
     TimeBookProxy timeBookProxy = new TimeBookProxy(new TimeBook());
     timeBookProxy.doAuditing("張三");
    }

     使用java的代理機制進行日志輸出
    (1)編寫一個日志信息的代理類LogProxy,這個代理類實現了接口InvocationHandler,
     可以對任何接口實現日志信息的輸出.其代理如下
    package com.gc.dao;

    import java.lang.reflect.InvocationHandler;
    import java.lang.reflect.Method;
    import java.lang.reflect.Proxy;

    import org.apache.log4j.Level;
    import org.apache.log4j.Logger;
    //代理類實現了接口InvocationHandler
    public class LogProxy implements InvocationHandler{

     private Logger logger = Logger.getLogger(this.getClass().getName());
     private Object delegate;
     //綁定對象
     public Object bing(Object delegate){
      this.delegate = delegate;
      return Proxy.new ProxyInstance(delegate.getClass().getClassLoader(),delegate.getClass().getInterfaces(),this);
     }
     //針對接口編程
     public Object invoke(Object proxy,Mehtod method,Object[] args)throws Throwable{
     
      Object result = null;
      try{
      //在方法調用前后進行日志輸出
       logger.log(Level.INFO,args[0] + "開始審核數據");
       result = method.invoke(delegate,args);
       logger.log(Level.INFO,args[0] + "審核數據結束");
      }
      catch(Exception e){
       logger.log(Level.INFO,e.toString());
      }
      return result;
     }
    }
    (2)建立一個接口TimeBookInterface,代碼如下
    /*******TimeBookInterface.java********/
    package com.gc.dao;

    public interface TimeBookInterface{

     public void doAuditing(String name);
    }
    (3)編寫接口實現類,代碼如下
    /*******TimeBook.java********/
    package com.gc.dao.impl;

    public class TimeBook implements TimeBookInterface{

     public void doAuditing(String name){
     
      //審查數據的相關程序
      ......
     }
    }
    (4)編寫測試代碼類
    ......
    public static void main(String[] args){
     //實現了對日志類的重用
     LogProxy logProxy = new LogProxy();
     TimeBookInterface timeBookInterface = (TimeBookInterface)logProxy.bind(new TimeBook());
     timeBookProxy.doAuditing("張三");
    }
    代碼來自spring從入門到精通一書



    posted on 2007-08-25 14:21 Ke 閱讀(575) 評論(0)  編輯  收藏 所屬分類: spring
    主站蜘蛛池模板: 人与动性xxxxx免费| 久久精品国产亚洲av成人| 日韩国产欧美亚洲v片| 亚洲国产成人五月综合网| 日韩在线永久免费播放| 亚洲日韩AV一区二区三区四区 | 亚洲色图黄色小说| 女人让男人免费桶爽30分钟| 国产区在线免费观看| 亚洲伊人久久大香线焦| 亚洲成a人在线看天堂无码| 最近免费2019中文字幕大全| 久久久久亚洲精品无码网址色欲 | 成人性生交大片免费看好| 亚洲日韩乱码久久久久久| 免费人成视频在线观看视频| 无码精品一区二区三区免费视频| 亚洲中文字幕乱码AV波多JI| 亚洲国产一二三精品无码| 又黄又爽又成人免费视频| 国产又黄又爽又大的免费视频| 亚洲精品一二三区| 亚洲国产精品一区二区成人片国内| 在线免费观看毛片网站| 久久综合国产乱子伦精品免费| 羞羞漫画登录页面免费| 亚洲免费中文字幕| 亚洲日韩精品无码一区二区三区 | 亚洲专区先锋影音| 亚洲综合国产精品第一页| 日韩在线天堂免费观看| 中文字幕乱码免费视频| 搡女人免费免费视频观看| 老司机福利在线免费观看| 亚洲校园春色另类激情| 亚洲日韩图片专区第1页| 亚洲熟妇中文字幕五十中出| 免费乱码中文字幕网站| 成人免费毛片观看| 永久在线免费观看| 久久精品免费电影|