<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

    搜索

    •  

    積分與排名

    • 積分 - 825594
    • 排名 - 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
    主站蜘蛛池模板: 亚洲精华液一二三产区| 久久亚洲国产精品123区| 无码中文字幕av免费放| 59pao成国产成视频永久免费| 暖暖免费日本在线中文| 免费黄色电影在线观看| 一个人看的www免费视频在线观看 一个人免费视频观看在线www | 怡红院亚洲红怡院在线观看| 亚洲色大成网站www尤物| 亚洲黄页网在线观看| 亚洲AV无码一区二区三区牛牛| 伊人久久亚洲综合影院首页| 亚洲综合色区中文字幕| 亚洲人成77777在线播放网站不卡| 亚洲不卡中文字幕| 精品丝袜国产自在线拍亚洲| 自拍日韩亚洲一区在线| 亚洲av纯肉无码精品动漫| 无码亚洲成a人在线观看| 午夜成人无码福利免费视频| 中文字幕成人免费高清在线视频| 国产在线观看免费视频软件| 日本视频在线观看永久免费| 亚欧免费视频一区二区三区 | 人妻无码中文字幕免费视频蜜桃 | 亚洲精品视频久久| 亚洲午夜在线播放| 亚洲女女女同性video| 免费无码AV一区二区| h片在线播放免费高清| 日韩电影免费在线观看| 国产91免费视频| 日韩免费无砖专区2020狼| 亚洲?V无码乱码国产精品| 亚洲无人区午夜福利码高清完整版| 亚洲成AV人片一区二区密柚| 亚洲国产av美女网站| 亚洲欧美日韩中文无线码| fc2免费人成在线视频| 91高清免费国产自产拍2021| 成人性生交视频免费观看|