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

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

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

    云自無心水自閑

    天平山上白云泉,云自無心水自閑。何必奔沖山下去,更添波浪向人間!
    posts - 288, comments - 524, trackbacks - 0, articles - 6
      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

    Tapestry IoC容器從歷史上來說,是從從HiveMind繼承發展而來,但是HiveMind和目前大紅大紫的Spring都不能滿足Tapestry的一些特定的需求,所以全新開發了一套IoC的容器。
    其核心思想就是使用Java代碼自身來解決依賴注入而不是由Xml之類的配置文件來完成,這和Guice的思想是非常相似的,Lewis也承認從Guice那里借鑒了不少。
    另外需要說明一下的是,Tapesty還從中國的一個非常古老但又充滿哲理的游戲--圍棋中借鑒了一些術語和思想。大意是圍棋中經常要把棋子走的輕盈(Lightness),讓每個棋子都能盡量地高效。編程也一樣要輕量(Lightness)。


    IoC容器中使用的一些概念,充分理解這些概念會對Tapesty IoC容器有一個總體上的感性認識。

    Tapestry IoC中的最基本的組成單元是服務(Service)。服務一般由一個接口和一個接口的實現組成。每個服務都有一個全局唯一的標識(ID)。
    數個或者多個服務組成一個模塊。模塊中會包括一個模塊定義類,在這個類里面有一系列的靜態或者成員方法
    ,用于定義服務、裝飾服務、或者添加配置項。
    這個類中的方法定義服務,并同時負責實例化服務的實現類。
    這些方法被稱為:服務創建 (build) 方法。

    注冊表(Registry) 是外部世界與服務和模塊交互的媒介。通過注冊表,使用服務的ID或者服務接口,才有可能獲得一個服務(服務ID是大小寫不敏感的,這是Tapestry的一個隨處可見的特性)。

    服務可以由服務裝飾方法進行裝飾(decorate)。這些裝飾方法會創建攔截器(interceptor)來包裝核心的服務實現,
    在外面添加諸如日志、權限檢查、數據庫事務之類的行為。攔截器需要實現同樣服務接口,這實際上就是一個裝飾模式的應用。

    下面是關于服務的一個很重要的概念:配置(Configuration)。
    在Tapestry的AppModule.java中最常見的是兩類方法,一類是前面剛剛介紹過的服務創建方法,一般是以build開頭的。另一大類就是添加配置的方法了,一般是以contribute開頭。
    服務可以根據配置項靈活配置,配置的數據結構可以是Map、集合或者是有序列表。
    服務自己定義允許什么類型的配置項可以被添加到配置中,Tapestry中把添加配置項的動作稱之為貢獻(Contribute)。
    配置可以由一個或者多個模塊分別貢獻而成。通過調用服務貢獻方法(Service Contributor Methods)來把配置對象添加到配置中。

    服務的狀態演變:
    服務只有在需要的時候才會被實例化。在這里,“需要”的意思是服務的某個方法被調用了。開始的時候,從外界來看,服務只是一個實現了服務接口的代理。
    當這個代理的方法第一次被實際調用的時候,完整的服務(也就是服務的實現類)才會真正地被構造。
    并且這個構造過程是線程安全的。

    實例化服務、進行依賴注入、裝飾服務這就是服務實現(Realization)的所有組成部分。通過這三步一個服務才從虛擬狀態(只是一個代理)轉換成真實狀態(完全的實例化,等待被使用了)。

    服務的范圍:服務的缺省范圍是單例的,另外也可以與當前線程綁定.

    依賴項是服務實現類所需要的其他服務。依賴項可以由服務創建方法通過構造函數、方法參數注入進來。
    注入點可以是類成員屬性、方法參數、或者構造函數參數。通常使用注解來指定注入的類型。




    評論

    # re: Tapestry最新版5.1.0.5教程(六):核心利器-IoC容器介紹  回復  更多評論   

    2009-09-13 12:23 by 99書城
    山東金斯頓說三道四
    主站蜘蛛池模板: 亚洲美女在线国产| 亚洲伊人久久成综合人影院| 亚洲av成人片在线观看| 又粗又大又硬又爽的免费视频 | 亚洲精品无码av片| 亚洲无线一二三四区手机| 精品四虎免费观看国产高清午夜| 亚洲手机中文字幕| 亚洲精品国产日韩无码AV永久免费网| 成人精品一区二区三区不卡免费看| 国产亚洲国产bv网站在线| 亚洲精品美女久久久久99小说| 无码人妻丰满熟妇区免费| 小说专区亚洲春色校园| 亚洲第一视频网站| 日本高清免费不卡视频| 精品四虎免费观看国产高清午夜| 亚洲1区2区3区精华液| 亚洲一区二区影院| 亚洲电影日韩精品| 国产一卡2卡3卡4卡无卡免费视频 国产一卡二卡3卡四卡免费 | 99精品热线在线观看免费视频| 亚洲国产成人AV网站| 久久精品亚洲精品国产色婷 | 亚洲精品无码专区久久同性男| 91视频免费网址| 国产精品成人免费观看| 亚洲AV成人影视在线观看| 久久亚洲精品成人| 成人伊人亚洲人综合网站222| 国产一卡2卡3卡4卡2021免费观看| 好猛好深好爽好硬免费视频| 亚洲AV一区二区三区四区| 亚洲的天堂av无码| 国产亚洲大尺度无码无码专线| 成年人免费网站在线观看| 2015日韩永久免费视频播放| 久久久受www免费人成| 美女视频黄.免费网址| 成人亚洲国产va天堂| 亚洲欧洲日本国产|