• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    Spring Framework概述 (2)

    發布: 2008-6-20 14:43 | 作者: 不詳 | 來源: 測試時代編輯整理 | 查看: 93次 | 進入軟件測試論壇討論

    領測軟件測試網

    假定MyPOJO是一個接口,實現類(和任何它要求的諸如原始屬性和進一步的協作者之類的配置)隱藏在XML bean工廠的定義中。

    我們通過一個在標準ejb-jar.xml部署描述符中的名為ejb/BeanFactoryPath的環境變量定義告訴Spring到什么地方去加載XML文檔,就像這樣:

    <session>
     	<ejb-name>myComponent</ejb-name>
     	<local-home>com.test.ejb.myEjbBeanLocalHome</local-home>
     	<local>com.mycom.MyComponentLocal</local>
     	<ejb-class>com.mycom.MyComponentEJB</ejb-class>
     	<session-type>Stateless</session-type>
     	<transaction-type>Container</transaction-type>
     	<env-entry>
     	<env-entry-name>ejb/BeanFactoryPath</env-entry-name>
     	<env-entry-type>java.lang.String</env-entry-type>
     	<env-entry-value>/myComponent-ejb-beans.xml</env-entry-value>
     	</env-entry>
     	</session>

    myComponent-ejb-beans.xml文件會被從classpath中加載:在本例中,是在EJB Jar文件的根部。每個EJB能指定它自己的XML文件,所以這個機制能在每個EJB Jar文件中多次使用。

    Spring超類實現了EJB的setSessionContext()和ejbCreate()一類的生命周期方法,讓應用程序開發者只要選擇性地實現Spring的onEjbCreate()方法就可以了。

    當EJB 3.0藍圖公布后,我們會對使用Spring IoC容器在那個環境中提供更豐富的依賴注入語義提供支持。我們也同樣會將JSR-220 實體/關系映射API作為一個被支持的數據訪問API整合進來。

    使用EJB

    Spring除了讓實現EJB更容易外,還讓它的使用變得簡單了。許多EJB應用程序使用服務定位器和業務代理模式。這比在客戶代碼中遍布JNDI查找好得多,但它們的一般實現存在明顯的缺陷。例如:

    • 依賴于服務定位器或業務代理單例的典型EJB調用代碼很難測試。
    • 在沒有一個業務代理的服務定位器模式中,應用程序代碼仍然要調用一個EJB home的create()方法,并處理可能的異常。因而它仍然綁定了EJB API和EJB編程模型的復雜性。
    • 實現業務代理模式通常會導致明顯的代碼重復,我們不得不寫很多方法來簡單地調用同一個EJB方法。

    為這些和其他一些原因,傳統的EJB訪問(就像Sun Adventure Builder 和OTN J2EE 虛擬大賣場里演示的)會降低生產力并帶來顯著的復雜度。

    Spring通過引入少量代碼業務代理在這方面先行一步。有了Spring你不再需要在手工編寫的業務代理中寫另外的服務定位器、JNDI查找或重復方法除非你加入了真正的價值。

    舉例來說,想象我們有一個使用本地EJB的web控制器。我們會遵循最佳實踐并使用EJB業務方法接口模式,所以EJB本地接口要擴展一個非EJB特有的業務方法接口。(這樣做的一個主要原因是確保本地接口和bean實現類的自動同步。)我們稱這個業務方法接口為MyComponent。當然我們也需要實現本地home接口并提供一個實現了SessionBean和MyComponent 業務方法接口的bean實現類。

    有了Spring EJB訪問,我們為掛接我們的web 層控制器和EJB實現所需的唯一的Java編碼就是暴露控制器上的一個MyComponent 的setter 方法。這會像一個實例變量那樣保存引用:

    private MyComponent myComponent;
     	public void setMyComponent(MyComponent myComponent) {
     	this.myComponent = myComponent;
     }

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>