<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技術
    主站蜘蛛池模板: 国产成人精品日本亚洲| a毛片成人免费全部播放| 蜜臀98精品国产免费观看| 亚洲精品国产美女久久久| 最近免费中文字幕中文高清| 亚洲AV中文无码乱人伦在线视色| 国产精品久久久久久亚洲小说| 国产免费卡一卡三卡乱码| 曰批全过程免费视频观看免费软件| 热久久精品免费视频| 色屁屁在线观看视频免费| 亚洲人成无码久久电影网站| 黄桃AV无码免费一区二区三区 | 亚洲a∨国产av综合av下载| 国产成人在线观看免费网站| 乱人伦中文视频在线观看免费| 亚洲精品在线视频| 久久久精品午夜免费不卡| 亚洲图片在线观看| 97无码免费人妻超级碰碰碰碰| 亚洲精品理论电影在线观看| 亚洲成AⅤ人影院在线观看| 中文字幕免费在线观看动作大片| 亚洲精品天天影视综合网| 久久99九九国产免费看小说| 亚洲欧美成人av在线观看| 亚洲国产中文v高清在线观看| a级片免费在线播放| 亚洲国产成人精品无码区在线秒播| 女人与禽交视频免费看| 72pao国产成视频永久免费| 久久亚洲精品无码VA大香大香| 日本三级2019在线观看免费| 偷自拍亚洲视频在线观看| 国产亚洲精品国产| 成人网站免费观看| 国产日韩精品无码区免费专区国产| 亚洲视频在线免费播放| 亚洲不卡AV影片在线播放| 亚洲一级免费视频| 亚洲精品视频免费观看|