<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级毛片av无码| 中文字幕在线免费播放| 亚洲第一网站免费视频| 亚洲成a人片在线观看无码| 免费看一区二区三区四区| 亚洲精品午夜国产VA久久成人| 一区二区视频免费观看| 狠狠亚洲婷婷综合色香五月排名| 人人公开免费超级碰碰碰视频| 亚洲日韩在线第一页| 中文字幕免费观看视频| 国产成A人亚洲精V品无码| 午夜精品免费在线观看| 亚洲成无码人在线观看| 大学生美女毛片免费视频| 国产精品手机在线亚洲| 亚洲国产一成久久精品国产成人综合 | 免费黄色大片网站| 国产成人va亚洲电影| 亚洲欧洲日产国码高潮αv| 日本在线免费观看| 亚洲人成7777影视在线观看| 好爽…又高潮了免费毛片| 日韩在线一区二区三区免费视频| 亚洲日韩精品一区二区三区无码| 精品亚洲永久免费精品| 精品日韩99亚洲的在线发布| 日韩精品免费一区二区三区| 久久不见久久见免费影院www日本| 亚洲成在人天堂一区二区| 国产精品久久久久久久久久免费| 黄色一级免费网站| 久久伊人久久亚洲综合| 成人毛片18女人毛片免费96| 特级毛片在线大全免费播放| 久久亚洲AV成人无码国产| 日韩中文字幕在线免费观看| 免费萌白酱国产一区二区三区 | 亚洲另类自拍丝袜第五页 | 亚洲国产综合精品中文第一区| 国产av无码专区亚洲av果冻传媒|