<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 閱讀(792) 評論(0)  編輯  收藏 所屬分類: Framework

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


    網站導航:
     
    主站蜘蛛池模板: 久久久久久亚洲Av无码精品专口| 亚洲免费电影网站| 日韩免费在线观看| 亚洲一区动漫卡通在线播放| 亚洲成人免费在线| 亚洲AV综合色区无码一区| 国内精品99亚洲免费高清| 亚洲色图综合在线| 成人免费乱码大片A毛片| 免费又黄又硬又爽大片| 在线观看亚洲专区| www亚洲一级视频com| 毛片免费全部免费观看| 亚洲制服丝袜精品久久| 色播精品免费小视频| 97se亚洲国产综合自在线 | a毛片全部免费播放| 亚洲AV日韩AV永久无码免下载| 午夜免费福利小电影| 亚洲一区二区三区高清视频| 精品免费国产一区二区| WWW国产成人免费观看视频| 亚洲av永久无码精品秋霞电影影院 | 亚洲精品无码成人片在线观看| 久久www免费人成看国产片| 久久亚洲综合色一区二区三区| 美丽姑娘免费观看在线观看中文版| 亚洲国产综合人成综合网站00| 国产精品视频免费一区二区| 国产精品亚洲а∨无码播放不卡 | 国产成人精品亚洲精品| 国产午夜精品久久久久免费视| 久久亚洲sm情趣捆绑调教| 成人免费无码大片A毛片抽搐 | 亚洲午夜无码AV毛片久久| 久久久久国产精品免费免费不卡| 亚洲女人18毛片水真多| 亚洲国产综合精品中文字幕| 亚洲精品免费在线| 成人福利在线观看免费视频| 亚洲综合视频在线观看|