<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 旱頭憨腦 閱讀(1066) 評論(0)  編輯  收藏 所屬分類: j2ee
    主站蜘蛛池模板: 亚洲日韩精品国产一区二区三区 | 国产在线a免费观看| 亚洲视频在线一区二区| 看Aⅴ免费毛片手机播放| 在线视频免费观看高清| 精品亚洲AV无码一区二区三区| 久久久久久曰本AV免费免费| 亚洲综合男人的天堂色婷婷| 84pao强力永久免费高清| 亚洲欧洲日产国码二区首页| 嘿嘿嘿视频免费网站在线观看| 激情综合亚洲色婷婷五月| 毛片免费在线视频| 老牛精品亚洲成av人片| 亚洲国产香蕉人人爽成AV片久久| 亚洲免费在线观看| 亚洲AV无码第一区二区三区| 99re6免费视频| 亚洲国产日韩精品| 四虎在线播放免费永久视频 | 亚洲国产天堂在线观看| 亚洲免费观看在线视频| 精品国产成人亚洲午夜福利| 国产成人免费ā片在线观看| 中文永久免费观看网站| 亚洲永久永久永久永久永久精品| 一二三四免费观看在线电影| 另类专区另类专区亚洲| 亚洲国产精华液网站w| 91在线视频免费看| 黄色一级免费网站| 亚洲第一精品在线视频| 国语成本人片免费av无码| 一区免费在线观看| 亚洲导航深夜福利| 亚洲AⅤ优女AV综合久久久| 日韩精品无码专区免费播放| 亚洲午夜福利在线视频| 亚洲欧洲美洲无码精品VA| 青春禁区视频在线观看直播免费| 一个人看的www免费在线视频 |