1.@Scope注解是什么
@Scope注解是springIoc容器中的一個(gè)作用域,在 Spring IoC 容器中具有以下幾種作用域:基本作用域singleton(單例)声畏、prototype(多例)啄栓,Web 作用域(reqeust娄帖、session、globalsession)昙楚,自定義作用域
a.singleton單例模式 -- 全局有且僅有一個(gè)實(shí)例
b.prototype原型模式 -- 每次獲取Bean的時(shí)候會(huì)有一個(gè)新的實(shí)例
c.request -- request表示該針對(duì)每一次HTTP請(qǐng)求都會(huì)產(chǎn)生一個(gè)新的bean近速,同時(shí)該bean僅在當(dāng)前HTTP request內(nèi)有效
d.session -- session作用域表示該針對(duì)每一次HTTP請(qǐng)求都會(huì)產(chǎn)生一個(gè)新的bean,同時(shí)該bean僅在當(dāng)前HTTP session內(nèi)有效
e.globalsession -- global session作用域類似于標(biāo)準(zhǔn)的HTTP Session作用域,不過它僅僅在基于portlet的web應(yīng)用中才有意義
2.@Scope注解怎么使用
直接在bean對(duì)象方法上增加@Scope注解就可以如下:
@Scope(value = "prototype")
不寫默認(rèn)是singleton單例模式
另外注意一點(diǎn):
Spring 只幫我們管理單例模式 Bean 的完整生命周期堪旧,對(duì)于 prototype 的 bean 削葱,Spring 在創(chuàng)建好交給使用者之后則不會(huì)再管理后續(xù)的生命周期。