<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內核

    搜索

    •  

    積分與排名

    • 積分 - 319382
    • 排名 - 177

    最新評論

    閱讀排行榜

    主站蜘蛛池模板: 久久乐国产综合亚洲精品| 亚洲成A人片在线观看无码不卡| 国产一级淫片a免费播放口| 国产免费观看青青草原网站| 亚洲制服丝袜在线播放| 成年免费大片黄在线观看岛国| 亚洲综合区图片小说区| 国产精品色拉拉免费看| 久久亚洲精品国产亚洲老地址| 亚洲精品动漫免费二区| 亚洲av永久无码精品网址| 亚洲国产成人久久综合区| 中文字幕免费视频精品一| 亚洲国产成人一区二区三区| 国产在线一区二区综合免费视频| 亚洲av日韩av不卡在线观看| 50岁老女人的毛片免费观看| 亚洲午夜久久久精品电影院| 午夜网站免费版在线观看| 黄网站在线播放视频免费观看| 亚洲AV无码之日韩精品| a级在线免费观看| 亚洲精品不卡视频| 国内大片在线免费看| 国产99久久久国产精免费| 亚洲AV成人片色在线观看 | 精品多毛少妇人妻AV免费久久| 亚洲精品国产精品乱码不卡√| 久久免费观看国产精品88av| 精品久久久久久亚洲精品| 四虎免费影院4hu永久免费| 手机看片国产免费永久| 亚洲国产精品综合久久网各 | 国产亚洲精品精品国产亚洲综合| a成人毛片免费观看| 亚洲免费闲人蜜桃| 亚洲裸男gv网站| 18禁网站免费无遮挡无码中文 | 免费无遮挡无码永久在线观看视频| 一级毛片视频免费| 亚洲精品午夜久久久伊人|