<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

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


    網站導航:
     
    主站蜘蛛池模板: 亚洲一区中文字幕在线观看| 国产亚洲一区二区手机在线观看| 91亚洲国产成人久久精品网址 | 99精品全国免费观看视频| 色播亚洲视频在线观看| 一级毛片免费视频| 久久久久久亚洲Av无码精品专口| 国内精品一级毛片免费看| 亚洲国产成人久久综合碰碰动漫3d| 国产自国产自愉自愉免费24区 | 久久精品国产这里是免费| 亚洲不卡中文字幕无码| 久久久久久成人毛片免费看| 亚洲AV乱码久久精品蜜桃 | 免费精品一区二区三区在线观看| 久久亚洲精品国产亚洲老地址| 成年人在线免费观看| 亚洲色偷偷色噜噜狠狠99网| 国产禁女女网站免费看| 国产亚洲人成在线影院| 国产国拍精品亚洲AV片| 中国在线观看免费的www| 亚洲国产成人精品不卡青青草原| h在线观看视频免费网站| 亚洲欧好州第一的日产suv| 国产裸模视频免费区无码| 九一在线完整视频免费观看| 久久亚洲国产伦理| 成人性生交视频免费观看| 免费看黄网站在线看| 亚洲av日韩av激情亚洲| 成全高清视频免费观看| 一区二区免费在线观看| 亚洲资源在线观看| 四虎在线免费播放| 最新亚洲成av人免费看| 亚洲av片不卡无码久久| 亚洲AⅤ无码一区二区三区在线| 久久久精品免费国产四虎| 亚洲人成7777| 亚洲视频一区二区|