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

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

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

    posts - 17,  comments - 12,  trackbacks - 0

    //無接口類的aop方法實現
    package cn.wyz.aop;

    import java.lang.reflect.Method;

    import cn.wyz.service.impl.PersonServiceBean;

    import net.sf.cglib.proxy.Enhancer;
    import net.sf.cglib.proxy.MethodInterceptor;
    import net.sf.cglib.proxy.MethodProxy;

    public class CGlibProxyFactory implements MethodInterceptor{
     

     private Object targetObject;
     
     public Object creatProxyIntacce(Object targetObject){
      this.targetObject=targetObject;
      Enhancer enhancer=new Enhancer();
      enhancer.setSuperclass(this.targetObject.getClass());//非final方法
      enhancer.setCallback(this);
      return enhancer.create();
       
        }

     public Object intercept(Object arg0, Method arg1, Object[] arg2,
       MethodProxy arg3) throws Throwable {
      PersonServiceBean bean=(PersonServiceBean)this.targetObject;
      Object result=null;//環繞通知
      
      if(bean.getUser()!=null){
       //......advice()---->前置通知
       try {
        result=arg3.invoke(this.targetObject, arg2);
        
        //..........afteradvice()------>后置通知
       } catch (Exception e) {
        //.....exceptionadvice()----->例外通知
        e.printStackTrace();
       }finally{
        //.....finallyadvice()----->最終通知
       }
      }
         
      return null;
     }
     
     
    }
    //接口類的aop方法實現

    package cn.wyz.aop;

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

    import cn.wyz.service.impl.PersonServiceBean;

    public class JDKProxyFactory implements InvocationHandler {
     
     
     private Object targetObject;
     public Object creatProxyIntacce(Object targetObject){
      this.targetObject=targetObject;
      
      return Proxy.newProxyInstance(this.targetObject.getClass().getClassLoader(),
        this.targetObject.getClass().getInterfaces(), this);
     
     }
     
     
     

     public Object invoke(Object arg0, Method arg1, Object[] arg2)
       throws Throwable {
      PersonServiceBean bean=(PersonServiceBean)this.targetObject;
      Object result=null;
      
      if(bean.getUser()!=null){
       arg1.invoke(this.targetObject, arg2);
      }
         
      return result;
     }

    }


    posted on 2009-04-02 22:34 asiawang 閱讀(362) 評論(0)  編輯  收藏

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


    網站導航:
     
    <2009年4月>
    2930311234
    567891011
    12131415161718
    19202122232425
    262728293012
    3456789

    常用鏈接

    留言簿(3)

    隨筆檔案

    文章檔案

    友情連接

    搜索

    •  

    最新評論

    閱讀排行榜

    主站蜘蛛池模板: 蜜桃AV无码免费看永久| 三年片在线观看免费观看大全动漫| 色片在线免费观看| 亚洲视频一区在线| 最近免费中文字幕mv在线电影| 亚洲av无码不卡| 114级毛片免费观看| 亚洲欧洲国产成人精品| 精品女同一区二区三区免费站| 亚洲色欲或者高潮影院| 最新欧洲大片免费在线| 亚洲精品中文字幕| 免费大黄网站在线看| 免费毛片毛片网址| 亚洲精品无码Av人在线观看国产| 国产成人AV免费观看| 亚洲一级特黄特黄的大片| 波多野结衣免费在线| 亚洲日韩精品无码专区| 免费看a级黄色片| 草久免费在线观看网站| 亚洲成AV人片在线播放无码| 永久看日本大片免费35分钟| 亚洲人成网站免费播放| 亚洲午夜无码AV毛片久久| 在线观看片免费人成视频无码| 亚洲精品mv在线观看| 四虎成人免费网站在线| 中文字幕不卡免费高清视频| 亚洲国产一区二区三区青草影视 | 18观看免费永久视频| 亚洲精品无码av片| 亚洲精品国产字幕久久不卡| 国产精品视频免费| 人成午夜免费大片在线观看| 亚洲第一精品在线视频| 国产日产成人免费视频在线观看| a视频在线观看免费| 精品亚洲视频在线观看| 精品香蕉在线观看免费| 高清免费久久午夜精品|