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
新用戶注冊
刷新評論列表
只有注冊用戶
登錄
后才能發表評論。
網站導航:
博客園
IT新聞
Chat2DB
C++博客
博問
管理
相關文章:
Javascript cookie操作攻略
Spring2.0 AOP 心得(二)
Spring2.0 AOP使用心得(一)
Tomcat中,UTF-8 URL提交參數中文解決終極方案
Struts中不限個數上傳文件的實現方案
Spring2.0 新特性之Bean新增范圍session, request, global session
旱頭憨腦
lanluquan
導航
BlogJava
首頁
新隨筆
聯系
聚合
管理
統計
隨筆 - 1
文章 - 10
評論 - 1
引用 - 0
常用鏈接
我的隨筆
我的評論
我的參與
最新評論
留言簿
(1)
給我留言
查看公開留言
查看私人留言
隨筆檔案
■
2006年10月 (1)
文章分類
■
ajax(1)
(rss)
■
j2ee(7)
(rss)
■
java
(rss)
■
ruby(1)
(rss)
■
非技術(1)
(rss)
文章檔案
■
2008年6月 (1)
■
2007年9月 (1)
■
2007年7月 (1)
■
2006年10月 (4)
■
2006年9月 (1)
■
2006年8月 (2)
搜索
最新評論
1.?re: Hibernate3 父子映射報錯:illegal access to loading collection
評論內容較長,點擊標題查看
--d
Powered by:
BlogJava
Copyright © 旱頭憨腦
主站蜘蛛池模板:
亚洲国产成人精品91久久久
|
美女视频免费看一区二区
|
亚洲免费一区二区
|
性做久久久久久久免费看
|
免费一区二区三区
|
大妹子影视剧在线观看全集免费
|
亚洲中文无码亚洲人成影院
|
久久精品国产亚洲AV无码麻豆
|
亚洲国产精品久久丫
|
久久亚洲国产精品五月天婷
|
国产乱子伦片免费观看中字
|
在线观看特色大片免费视频
|
无码囯产精品一区二区免费
|
欧洲乱码伦视频免费国产
|
亚洲乱人伦中文字幕无码
|
亚洲国产亚洲片在线观看播放
|
国产无遮挡色视频免费观看性色
|
无人在线直播免费观看
|
97久久免费视频
|
久久99毛片免费观看不卡
|
一区二区免费电影
|
成人国产网站v片免费观看
|
国产在线观看免费观看不卡
|
99久久国产精品免费一区二区
|
久久久免费观成人影院
|
永久免费无码网站在线观看个
|
黄色网页免费观看
|
另类小说亚洲色图
|
国产亚洲精品免费
|
日韩在线视频播放免费视频完整版
|
亚洲人成综合网站7777香蕉
|
亚洲欧洲国产视频
|
亚洲精品中文字幕无乱码
|
久久精品国产亚洲av水果派
|
亚洲色图国产精品
|
亚洲手机中文字幕
|
色婷五月综激情亚洲综合
|
亚洲欧美日韩中文无线码
|
亚洲AV无码一区二区三区久久精品
|
亚洲人成色4444在线观看
|
一本天堂ⅴ无码亚洲道久久
|