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

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

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

    (翻譯)JavaEE6規范 CDI教程第五部分

    原文鏈接: http://code.google.com/p/jee6-cdi/wiki/DependencyInjectionAnIntroductoryTutorial

    本部分講述使用多個@Qualifiers來進一步區分注入類型

    在同一個注入點上使用多個@Qualifiers來進一步區分

    你可以使用多個限定注解來進一步區分你的注入目標。

    我們定義限定注解SuperFastStandardFrameRelaySwitchingFlubber來演示這個用法。那樣的話我們就有第二個傳輸器StandardFrameRelaySwitchingFlubber和SuperFast,我們要注入的傳輸器不僅有StandardFrameRelaySwitchingFlubber,還有SuperFast。

    首先我們來定義限定注解,如下:

    // 定義新的SuperFast限定注解 package org.cdi.advocacy;  
    ...
    @Qualifier
    @Retention(RUNTIME)
    @Target({TYPE, METHOD, FIELD, PARAMETER})
    public @interface SuperFast {
    }
    // 定義另一個新的StandardFrameRelaySwitchingFlubber限定注解 
    package org.cdi.advocacy;
    ...
    @Qualifier @Retention(RUNTIME)
    @Target({TYPE, METHOD, FIELD, PARAMETER})
    public @interface StandardFrameRelaySwitchingFlubber {
    }

    OK,下面的代碼是給SuperFastAtmTransport同時使用@SuperFast@StandardFrameRelaySwitchingFlubber限定注解。

    // SuperFastAtmTransport使用兩個限定注解 
    package org.cdi.advocacy;

    @SuperFast @StandardFrameRelaySwitchingFlubber
    public class SuperFastAtmTransport implements ATMTransport {
    public void communicateWithBank(byte[] datapacket) {
    System.out.println("communicating with bank via the Super Fast transport " );
    }
    }

    Ok,我們也給StandardAtmTransport加上StandardFrameRelaySwitchingFlubber限定注解。

    // StandardAtmTransport使用一個限定注解 
    package org.cdi.advocacy;

    @StandardFrameRelaySwitchingFlubber
    @Default
    public class StandardAtmTransport implements ATMTransport {
    public void communicateWithBank(byte[] datapacket) {
    System.out.println("communicating with bank via Standard transport");
    }
    }

    接下來,我希望我的自動柜員機使用SuperFast傳輸并帶有StandardFrameRelaySwitchingFlubber,我必須在注入點同時使用它們,如下:

    // AutomatedTellerMachineImpl更改為使用兩個限定注解 
    public class AutomatedTellerMachineImpl implements AutomatedTellerMachine {
    @Inject @SuperFast @StandardFrameRelaySwitchingFlubber
    private ATMTransport transport;
    ... deposit called
    communicating with bank via the Super Fast transport

    練習:創建一個具有@SuperFast, @StandardFrameRelaySwitchingFlubber 和 @Alternative的傳輸器。然后使用beans.xml激活SuperFast, StandardFrameRelaySwitchingFlubber, Alternative支持。通過CDI Group郵件列表發給我你的解決方案。第一發送的將會張貼在CDI墻壁上。

    閱讀者練習:更改注入點限定,只使用StandardAtmTransport。通過CDI Group郵件列表發給我你的解決方案。第一發送的將會張貼在CDI:墻壁上。

    待續..

    2011-07-12

    posted on 2011-07-12 10:38 kuuyee 閱讀(1864) 評論(0)  編輯  收藏 所屬分類: CDIJEE

    導航

    <2011年7月>
    262728293012
    3456789
    10111213141516
    17181920212223
    24252627282930
    31123456

    統計

    隨筆分類(139)

    Linux內核

    搜索

    •  

    積分與排名

    • 積分 - 319344
    • 排名 - 177

    最新評論

    閱讀排行榜

    主站蜘蛛池模板: 亚洲成色www久久网站夜月| 亚洲精品视频在线看| 精品亚洲国产成AV人片传媒| 中文字幕a∨在线乱码免费看| 亚洲色偷偷狠狠综合网| 日本一区二区三区在线视频观看免费| 国产91久久久久久久免费| 国产精品日本亚洲777| 亚洲国产成人乱码精品女人久久久不卡| 亚洲国产精品成人AV在线| 全部免费毛片免费播放| 色哟哟国产精品免费观看| 国产亚洲视频在线播放| 日本免费在线观看| 久久久久亚洲AV片无码下载蜜桃| 最近中文字幕mv免费高清视频8 | 亚洲中字慕日产2020| 欧美三级在线电影免费| 亚洲日韩精品无码专区| 又黄又大又爽免费视频| 中文字幕免费在线看电影大全| 亚洲AV无码专区国产乱码电影| 4399影视免费观看高清直播| 色噜噜亚洲男人的天堂| 免费99热在线观看| 国产免费AV片在线观看| 2020亚洲男人天堂精品| 日韩精品亚洲专区在线观看| 午夜视频在线免费观看| 久久精品国产亚洲αv忘忧草| 国产青草视频免费观看97| 曰曰鲁夜夜免费播放视频| 亚洲精品无码中文久久字幕| 国产偷国产偷亚洲高清日韩| 久久综合给合久久国产免费| 亚洲最大天堂无码精品区| 亚洲午夜国产片在线观看| 国产91色综合久久免费| 国产亚洲视频在线播放大全| 亚洲精品在线观看视频| 国产成人免费a在线视频app |