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

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

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

    introduction為對象動態的加入原先所沒有的職責。

    例子:
    系統中已經有如下的類:
    接口
    package?cn.blogjava.introduction;

    public?interface?ISome?{
    ????
    public?void?doSome();
    }

    package?cn.blogjava.introduction;

    public?class?Some?implements?ISome?{

    ????
    public?void?doSome()?{
    ????????System.out.println(
    "do?some");

    ????}

    }

    希望給Some類增加doOther()方法,可以通過IntroductionInterceptor來完成任務。
    首先定義接口
    package?cn.blogjava.introduction;

    public?interface?IOther?{
    ????
    public?void?doOther();
    }

    實現IntroductionInterceptor接口:
    package?cn.blogjava.introduction;

    import?org.aopalliance.intercept.MethodInvocation;
    import?org.springframework.aop.IntroductionInterceptor;

    public?class?OtherIntroduction?implements?IOther,?IntroductionInterceptor?{

    ????
    public?void?doOther()?{
    ????????System.out.println(
    "do?other");

    ????}

    ????
    public?Object?invoke(MethodInvocation?methodInvocation)?throws?Throwable?{
    ????????
    if(implementsInterface(methodInvocation.getMethod().getDeclaringClass()))?{
    ????????????
    return?methodInvocation.getMethod().invoke(this,?methodInvocation.getArguments());
    ????????}?
    else?{
    ????????????
    return?methodInvocation.proceed();
    ????????}
    ????}

    ????
    public?boolean?implementsInterface(Class?aclass)?{
    ????????
    return?aclass.isAssignableFrom(IOther.class);
    ????}

    }

    測試類:
    package?cn.blogjava.introduction;

    import?org.springframework.context.ApplicationContext;
    import?org.springframework.context.support.FileSystemXmlApplicationContext;

    public?class?SpringAOPDemo?{

    ????
    public?static?void?main(String[]?args)?{
    ????????ApplicationContext?context?
    =?
    ????????????
    new?FileSystemXmlApplicationContext("beans-config.xml");
    ????????
    ????????ISome?some?
    =?(ISome)context.getBean("proxyFactoryBean");
    ????????some.doSome();
    ????????
    ????????((IOther)some).doOther();

    ????}

    }
    posted on 2006-08-18 15:20 knowhow 閱讀(782) 評論(0)  編輯  收藏 所屬分類: Framework

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


    網站導航:
     
    主站蜘蛛池模板: 亚洲fuli在线观看| 亚洲国产日韩在线成人蜜芽| 老司机免费午夜精品视频| 最近最新的免费中文字幕 | 亚洲av日韩av综合| ww在线观视频免费观看| 亚洲欧洲精品国产区| 国产精品久久永久免费| 亚洲深深色噜噜狠狠网站| 毛片免费在线观看网站| 亚洲AV无码男人的天堂| 国产乱子伦片免费观看中字| 有色视频在线观看免费高清在线直播 | 91情侣在线精品国产免费| 亚洲人成7777影视在线观看| 无码精品A∨在线观看免费| 精品国产成人亚洲午夜福利| 波多野结衣久久高清免费 | 无码乱人伦一区二区亚洲一| 亚洲免费视频网站| 亚洲精品福利你懂| 国产乱子影视频上线免费观看| 久久毛片免费看一区二区三区| 亚洲Av永久无码精品三区在线| www视频免费看| 无人视频免费观看免费视频| 亚洲尤码不卡AV麻豆| 欧洲一级毛片免费| 国产偷国产偷亚洲高清在线| 国产AV无码专区亚洲AV漫画| 999久久久免费精品播放| 亚洲精品无码aⅴ中文字幕蜜桃| 亚洲人成网站18禁止一区| 日本亚洲欧洲免费天堂午夜看片女人员| 亚洲一卡2卡4卡5卡6卡残暴在线| 免费国产精品视频| 免费无码毛片一区二区APP| 亚洲经典千人经典日产| 亚洲AV区无码字幕中文色| 四色在线精品免费观看| 成人网站免费看黄A站视频|