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
新用戶注冊
刷新評論列表
只有注冊用戶
登錄
后才能發表評論。
網站導航:
博客園
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 © 旱頭憨腦
主站蜘蛛池模板:
亚洲日韩精品国产一区二区三区
|
国产在线a免费观看
|
亚洲视频在线一区二区
|
看Aⅴ免费毛片手机播放
|
在线视频免费观看高清
|
精品亚洲AV无码一区二区三区
|
久久久久久曰本AV免费免费
|
亚洲综合男人的天堂色婷婷
|
84pao强力永久免费高清
|
亚洲欧洲日产国码二区首页
|
嘿嘿嘿视频免费网站在线观看
|
激情综合亚洲色婷婷五月
|
毛片免费在线视频
|
老牛精品亚洲成av人片
|
亚洲国产香蕉人人爽成AV片久久
|
亚洲免费在线观看
|
亚洲AV无码第一区二区三区
|
99re6免费视频
|
亚洲国产日韩精品
|
四虎在线播放免费永久视频
|
亚洲国产天堂在线观看
|
亚洲免费观看在线视频
|
精品国产成人亚洲午夜福利
|
国产成人免费ā片在线观看
|
中文永久免费观看网站
|
亚洲永久永久永久永久永久精品
|
一二三四免费观看在线电影
|
另类专区另类专区亚洲
|
亚洲国产精华液网站w
|
91在线视频免费看
|
黄色一级免费网站
|
亚洲第一精品在线视频
|
国语成本人片免费av无码
|
一区免费在线观看
|
亚洲导航深夜福利
|
亚洲AⅤ优女AV综合久久久
|
日韩精品无码专区免费播放
|
亚洲午夜福利在线视频
|
亚洲欧洲美洲无码精品VA
|
青春禁区视频在线观看直播免费
|
一个人看的www免费在线视频
|