<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)

    隨筆檔案

    文章檔案

    友情連接

    搜索

    •  

    最新評論

    閱讀排行榜

    主站蜘蛛池模板: 三年片在线观看免费大全| 久草免费福利资源站| 91成年人免费视频| 久久亚洲国产午夜精品理论片| 国产精品亚洲专区一区| 宅男666在线永久免费观看 | 思思99re66在线精品免费观看| 亚洲国产精品日韩在线| 91免费播放人人爽人人快乐| 亚洲成a人片在线观看播放| 亚洲精品在线免费观看视频| 亚洲欧洲日产国码在线观看| 日韩不卡免费视频| 亚洲无人区码一二三码区别图片| 一个人免费观看视频www| 亚洲精品欧美综合四区| 免费亚洲视频在线观看| 91av免费在线视频| 亚洲三级电影网站| 3d成人免费动漫在线观看| 亚洲一区二区三区91| 毛片免费观看网址| 在线精品自拍亚洲第一区| 国产亚洲精品无码拍拍拍色欲 | 免费网站看av片| 99久久亚洲精品无码毛片| 野花视频在线官网免费1| 亚洲一本大道无码av天堂| 一区二区三区无码视频免费福利| 911精品国产亚洲日本美国韩国| 人妻视频一区二区三区免费| 狠狠综合亚洲综合亚洲色| 免费做爰猛烈吃奶摸视频在线观看| 亚洲高清一区二区三区| 亚洲成网777777国产精品| 香蕉成人免费看片视频app下载| 久久精品国产亚洲AV蜜臀色欲| 亚洲第一永久AV网站久久精品男人的天堂AV | 一本色道久久综合亚洲精品| 99久久久国产精品免费牛牛| 亚洲国产成人无码AV在线|