<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 前方的路 閱讀(305) 評論(0)  編輯  收藏 所屬分類: Java技術
    主站蜘蛛池模板: 亚洲综合色自拍一区| 免费无码国产V片在线观看| 亚洲乱码无限2021芒果| 亚洲国产精品18久久久久久 | 91久久亚洲国产成人精品性色| 亚洲av无码av制服另类专区| 亚洲噜噜噜噜噜影院在线播放| 免费国产va在线观看| 日韩av无码久久精品免费| 日韩免费观看视频| 日产亚洲一区二区三区| 色欲aⅴ亚洲情无码AV| 十八禁无码免费网站 | 午夜男人一级毛片免费| 亚洲A∨无码无在线观看| 国产午夜亚洲精品不卡| 无码国产精品一区二区免费虚拟VR | 和日本免费不卡在线v| 西西人体44rt高清亚洲| 久久久久久噜噜精品免费直播| 免费看大美女大黄大色| 亚洲妇女水蜜桃av网网站| 日韩中文字幕免费视频| 亚洲国产精品无码专区影院 | 性xxxx黑人与亚洲| 亚洲成人免费电影| 亚洲av无码一区二区乱子伦as| v片免费在线观看| 免费一级大黄特色大片| 免费观看亚洲人成网站| 亚洲国产V高清在线观看| 在线免费观看你懂的| 亚洲免费观看视频| 97无码人妻福利免费公开在线视频 | 中文字幕不卡免费视频| 亚洲日韩国产精品第一页一区| 一级毛片在线免费播放| 国产亚洲人成网站在线观看| 丝袜足液精子免费视频| 亚洲伦理一区二区| 日本最新免费网站|