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

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

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

    licheng700

    BlogJava 首頁 新隨筆 聯系 聚合 管理
      26 Posts :: 5 Stories :: 5 Comments :: 1 Trackbacks

    1.首先實際的業務處理,由于采用動態代理(AOP思想)所以,必須基于接口編程.
       package proxy;
    public interface BusinessInterface {
     public void processBusiness();
     public int add(int a,int b);
    }
    2.實現具體業務的實現類
    package proxy;
    public class BusinessImpl implements BusinessInterface {
     public void processBusiness() { 
      System.out.println("-----------processBusiness");
     }
     public int add(int a,int b)
     {
      System.out.println("result="+(a+b));
      return a+b;
     }
    }
    3.InvocationHandler接口提供一個執行處理器,然后通過java.lang.reflect.Proxy得到一個
    代理對象,通過這個代理對象來執行商業
     package proxy;

    import java.lang.reflect.InvocationHandler;
    import java.lang.reflect.Method;
    import java.util.logging.Logger;

    /**
     * 日志代理處理器
     * InvocationHandler接口提供了一個執行處理器
     */
    public class LogHandler implements InvocationHandler {

     private Logger logger = Logger.getLogger(this.getClass().getName());

     private Object delegate;

     public LogHandler(Object delegate) {
      this.delegate = delegate;
     }

     public Object invoke(Object proxy, Method method, Object[] args)
       throws Throwable {
      Object o = null;
      try {
       logger.info("method stats..." + method);
       o = method.invoke(delegate, args);
       logger.info("method ends..." + method);
      } catch (Exception e) {
       logger.info("Exception happends...");   
      }
      return o;
     }
    }
    4.測試類
    package proxy;
    import java.lang.reflect.InvocationHandler;
    import java.lang.reflect.Proxy;
    public class Test {
     public static void main(String[] args) {
      // 具體實現類
      BusinessInterface businessImp = new BusinessImpl();
      // 動態代理執行處理器
      InvocationHandler handler = new LogHandler(businessImp);
      // 代理對象
      BusinessInterface proxy = (BusinessInterface) Proxy.newProxyInstance(
        businessImp.getClass().getClassLoader(), businessImp.getClass()
          .getInterfaces(), handler);
      // 由代理對象來執行商業方法
      // 在商業方法被調用的同時,執行處理器會被自動調用
      proxy.processBusiness();
      proxy.add(1, 2);
     }
    }

    posted on 2005-09-22 15:30 小海船 閱讀(305) 評論(0)  編輯  收藏

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 亚洲a∨无码一区二区| 2022年亚洲午夜一区二区福利 | 亚洲人片在线观看天堂无码| 在线视频免费观看爽爽爽| 久久丫精品国产亚洲av| **一级一级毛片免费观看| 亚洲国产精品成人久久久| aa级一级天堂片免费观看| 亚洲一区二区三区高清不卡| 女人让男人免费桶爽30分钟| 亚洲欧美日韩中文字幕在线一区| 日韩一品在线播放视频一品免费| 中文有码亚洲制服av片| 黄a大片av永久免费| 全部在线播放免费毛片| 自拍偷自拍亚洲精品情侣| 麻豆精品成人免费国产片| 亚洲色图综合网站| 性xxxx视频播放免费| xxxxx做受大片视频免费| 亚洲av不卡一区二区三区| **一级一级毛片免费观看| 亚洲精品久久久久无码AV片软件| 又粗又黄又猛又爽大片免费| 精品熟女少妇aⅴ免费久久 | 中文字幕 亚洲 有码 在线| 日本19禁啪啪无遮挡免费动图| 一级做a爰黑人又硬又粗免费看51社区国产精品视 | 亚洲女初尝黑人巨高清| 2021在线永久免费视频| 亚洲成AV人片高潮喷水| 亚洲中文字幕无码一区| 4399影视免费观看高清直播| 亚洲欧美精品午睡沙发| 亚洲熟妇av一区二区三区| 四虎精品视频在线永久免费观看| 亚洲精品无码国产片| 国产v亚洲v天堂无码网站| 手机在线毛片免费播放| 中国一级毛片视频免费看| 性xxxx黑人与亚洲|