<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

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


    網站導航:
     
    主站蜘蛛池模板: 亚洲国产一区二区三区在线观看| 亚洲国产精品国自产拍电影| 亚洲五月丁香综合视频| 日韩免费高清大片在线| 亚洲国产日韩一区高清在线| 精品免费视在线观看| 亚洲AV午夜福利精品一区二区| 99视频免费在线观看| 亚洲Av永久无码精品三区在线 | 免费激情网站国产高清第一页 | 亚洲人成人网站18禁| 天天摸天天操免费播放小视频| 亚洲色偷偷综合亚洲AV伊人蜜桃 | 亚洲精品美女久久777777| 久久精品免费一区二区三区| 亚洲AV乱码一区二区三区林ゆな| 亚洲视频在线观看免费视频| 国产精品亚洲片在线va| 四虎影永久在线高清免费| 一级黄色毛片免费看| 亚洲春色在线视频| 99无码人妻一区二区三区免费| 亚洲中文无码卡通动漫野外| 免费99热在线观看| 波多野结衣免费一区视频| 亚洲第一香蕉视频| 国产成人一区二区三区免费视频| 一级中文字幕免费乱码专区| 亚洲成人动漫在线| 免费观看的a级毛片的网站| 一级一片免费视频播放| 日韩亚洲AV无码一区二区不卡 | 亚洲精品亚洲人成在线| 免费h黄肉动漫在线观看 | 国产午夜免费高清久久影院| 亚洲第一区视频在线观看| 日本免费一区二区三区最新 | 亚洲免费日韩无码系列| 日本一卡精品视频免费| 亚洲精品GV天堂无码男同| 久久精品7亚洲午夜a|