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

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

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

    Spring2.0 新特性之Bean新增范圍session, request, global session

    ??????在Spring2.0之前,我們對Bean的控制僅有兩種:singleton和prototype。Spring默認的Bean是為singleton,在實際項目中,一般與狀態無關的Bean,都可以使用singleton;而那些與具體狀態相關的Bean,則應該顯示的在Bean定義中設置為singleton=false。
    ??????Spring2.0之前,我們是這么定義的:
    ??????<bean?id="singletonBean"?class="myBean.singletonBean"?/>
    ??????
    <bean?id="notSingletonBean"?class="myBean.notSingletonBean"?singleton="false"/>

    ??????在Spring2.0以后,因為增加了session, request, global session三種Bean的范圍,所以在Bean的配置上,也發生了改變,不過Bean的默認范圍仍然是singleton。
    ???????新的寫法如下:
    <bean?id="newBean"?class="myBean.newBean"?scope="session?|?request?|?global?session?|?singleton?|?prototype">
    <aop:scoped-proxy/>
    </bean>

    ?????? 對于新增加的三種范圍,Spring2.0對Bean的要求就是必須是在web環境中才能定義這三種范圍。對比之前的singletoBean和notSingletonBean的XML定義,我們可以發現<aop:scoped-proxy/> 這個新的配置項。
    ??????那么,這又是怎么一回事呢?
    ??????為了理解為什么需要這一行和以前完全不同的Bean配置,我們需要對Spring2.0實現session, request, global session三種Bean的范圍的原理進行研究。
    ??????可以想象,對于開發人員來說,最重要的是得到一個實例,該實例提供給我們的就是和我們需要的Bean一樣的接口。無論我們定義的Bean的范圍如何,容器都要求可以將正確的實例返回給我們,那么,采用代理機制則可以完成這一個任務。代理機制屏蔽了基于Bean所定義的范圍返回實例的要求,同時可以提供和我們所要求的Bean同樣的接的口。基于這個原理,
    為了實現基于作用域機制的Bean的控制,Spring2.0引入了一個新的接口:
    public?interface?Scope?{
     Object?get(String?name,?ObjectFactory?objectFactory);

     Object?remove(String?name);
    }
    ?

    ??????這個接口是用來表示Bean范圍的接口,而在ConfigurableBeanFactory接口中定義了Bean工廠相關Scope注冊的方法,使得可往Bean工廠中加入新范圍的Bean。
    public?interface?ConfigurableBeanFactory?extends?HierarchicalBeanFactory,
     
    void?registerScope(String?scopeName,?Scope?scope);
     void?destroyScopedBean(String?beanName);
    }

    ??????同時,Spring2.0在AbstractFactoryBean的getBean方法中實現了對Scope Bean支持以及在WebApplicationContext中注冊session.request,global session三種Scope,這里就不繼續貼代碼了。
    ????? 最后需要提醒的是global session是應用于基于portlet的web應用中才有意義。
    posted on 2006-08-28 17:07 旱頭憨腦 閱讀(1067) 評論(0)  編輯  收藏 所屬分類: j2ee
    主站蜘蛛池模板: 亚洲国产成人精品91久久久| 美女视频免费看一区二区| 亚洲免费一区二区| 性做久久久久久久免费看| 免费一区二区三区| 大妹子影视剧在线观看全集免费| 亚洲中文无码亚洲人成影院| 久久精品国产亚洲AV无码麻豆 | 亚洲国产精品久久丫| 久久亚洲国产精品五月天婷| 国产乱子伦片免费观看中字| 在线观看特色大片免费视频| 无码囯产精品一区二区免费| 欧洲乱码伦视频免费国产| 亚洲乱人伦中文字幕无码| 亚洲国产亚洲片在线观看播放 | 国产无遮挡色视频免费观看性色 | 无人在线直播免费观看| 97久久免费视频| 久久99毛片免费观看不卡| 一区二区免费电影| 成人国产网站v片免费观看| 国产在线观看免费观看不卡| 99久久国产精品免费一区二区| 久久久免费观成人影院| 永久免费无码网站在线观看个| 黄色网页免费观看| 另类小说亚洲色图| 国产亚洲精品免费| 日韩在线视频播放免费视频完整版 | 亚洲人成综合网站7777香蕉| 亚洲欧洲国产视频| 亚洲精品中文字幕无乱码| 久久精品国产亚洲av水果派| 亚洲色图国产精品| 亚洲手机中文字幕| 色婷五月综激情亚洲综合| 亚洲欧美日韩中文无线码| 亚洲AV无码一区二区三区久久精品| 亚洲人成色4444在线观看| 一本天堂ⅴ无码亚洲道久久|