<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

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


    網站導航:
     
    主站蜘蛛池模板: 国产自国产自愉自愉免费24区 | 亚洲最大的黄色网| 一级毛片aaaaaa免费看| 亚洲av午夜福利精品一区人妖| 水蜜桃视频在线观看免费播放高清| 亚洲一区二区视频在线观看| 人妻仑乱A级毛片免费看| tom影院亚洲国产一区二区| 最近2019免费中文字幕视频三| 亚洲福利视频网址| 18国产精品白浆在线观看免费| 国产成人亚洲精品| 性做久久久久免费观看| 一区二区在线免费视频| 日韩亚洲一区二区三区| 国产精品爱啪在线线免费观看| 亚洲kkk4444在线观看| 国产jizzjizz视频免费看| caoporn国产精品免费| 亚洲AV日韩精品久久久久| 久草免费在线观看视频| 久久亚洲精品11p| 久久久久亚洲AV成人网人人软件| 久久精品国产免费| 亚洲av永久综合在线观看尤物| 免费在线观看亚洲| 可以免费观看的毛片| 色在线亚洲视频www| 亚洲综合精品网站在线观看| 99热这里有免费国产精品| 亚洲综合一区无码精品| 亚洲欧洲中文日韩av乱码| 亚洲视频免费观看| 亚洲av永久无码精品秋霞电影秋| 永久亚洲成a人片777777| 99久久精品日本一区二区免费| 国产成人精品亚洲| 久久亚洲春色中文字幕久久久| 日本人的色道www免费一区| 精品国产免费一区二区三区香蕉| 亚洲Av高清一区二区三区|