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

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

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

    隨筆-72  評論-20  文章-0  trackbacks-1

    Spring Framework從誕生之日起,受到了越來越多的關注。最近,新的開源項目大多支持Spring Framework。國內目前也有專門的網站(http://spring.jactiongroup.net/)。那它為什么如此受歡迎呢?

    我想最重要的是,EJB讓每個人都痛恨。要編寫一個EJB,需要寫LocalHome, RemoteHome, Bean, LocalInterface, RemoteInterface,需要一個標準描述符,一個特殊廠商描述符(Weblogic、WebSphere都不一樣),如果是Entity Bean,還需要Mapping文件。如此之多,實在麻煩。但EJB最重要的是解決Transaction問題,沒有Spring之前,沒有其他方法能夠 描述式的解決它。每個人、每個公司為了解決Transaction的問題,編程的寫法都不一樣,百花齊放。于是,在最需要它的時候,Spring出現了。

    Spring的功能非常多。但對于一個產品,最重要的是如何用好它的精華。Spring包含AOP、ORM、DAO、Context、Web、 MVC幾個部分組成。Web、MVC暫不用考慮,用成熟的Struts、JSP或Webwork更好。DAO由于目前Hibernate、JDO的流行, 也可不考慮。因此最需要用的是AOP、ORM、Context。

    Context中,最重要的是Beanfactory,它是將接口與實現分開,非常重要。以前我們寫程序,如一個接口IDocument,一個實現 類Document1。在寫程序時,需寫成IDocument doc = new Document1(),一旦我們的實現類需改變時,變為Document2,則程序需寫成IDocument doc = new Document2(),所有用到的地方全需改。Beanfactory幫我們解決了這個問題,用context后,寫法變為IDocument doc=(IDocument)beanFactory.getBean("doc")。如果實現類從Document1改為Document2,直接在 配置文件改就可以了。Context是Bean factory的進一步抽象。很多人都喜歡用ApplicationConext,用Servlet把它Load。這樣就把Bean Factory與Web綁定在一起。如果是Fat Client或Remote調用,則這些Bean factory就很難調用,實際是將表現層與業務層綁定的太緊。推薦的方法是SingletonBeanFactoryLocator。具體為:

    BeanFactoryLocator bfLocator = SingletonBeanFactoryLocator.getInstance();
    BeanFactoryReference bf 
    = bfLocator.useBeanFactory("beanFactory");
    // now use some bean from factory
    return bf.getFactory().getBean(name);

     


    <beans>

         
    <bean id="beanFactory" class="org.springframework.context.support.ClassPathXmlApplicationContext">
         
    <constructor-arg>
          
    <list>
           
    <value>dataAccessContext.xml</value>
           
    <value>securityContext.xml</value>
           
    <value></value>
          
    </list>
         
    </constructor-arg>
        
    </bean>

    </beans>


    這樣,就可隨時動態擴展,實現組件式的開發。

    (未完,待續)

    posted on 2008-08-14 15:13 前方的路 閱讀(297) 評論(0)  編輯  收藏 所屬分類: Java技術
    主站蜘蛛池模板: 91亚洲国产成人久久精品 | 亚洲综合丁香婷婷六月香| 免费国产午夜高清在线视频| 伊人亚洲综合青草青草久热| 久久高潮一级毛片免费| 亚洲国产AV无码一区二区三区| 久久久WWW成人免费精品| 亚洲中文久久精品无码ww16| 91免费福利视频| 久久久久久久久亚洲| 最近中文字幕mv免费高清在线| 亚洲国产成人精品无码区在线网站| 久久精品国产免费观看| 亚洲一区二区三区免费在线观看| av免费不卡国产观看| 亚洲码国产精品高潮在线| 成人网站免费看黄A站视频| 亚洲VA中文字幕无码一二三区| 久久国产免费观看精品3| 亚洲毛片基地日韩毛片基地| 久香草视频在线观看免费| 亚洲色婷婷六月亚洲婷婷6月| 精品四虎免费观看国产高清午夜| 亚洲一区二区三区四区在线观看 | 最近2019免费中文字幕6| 亚洲国产成人va在线观看网址| 成人免费男女视频网站慢动作| 亚洲美女视频免费| 一个人看的www在线免费视频| 久久精品国产亚洲av四虎| av无码久久久久不卡免费网站| 美女裸免费观看网站| 亚洲av日韩av天堂影片精品| 我要看免费的毛片| 两个人的视频www免费| 亚洲人成伊人成综合网久久| 免费在线黄色网址| 最近免费中文字幕mv电影 | 中文字幕免费观看视频| 亚洲精品国产精品国自产网站 | 亚洲网站在线观看|