教育行業(yè)A股IPO第一股(股票代碼 003032)

全國(guó)咨詢/投訴熱線:400-618-4000

Bean的作用域有幾種?都有哪些作用范圍?

更新時(shí)間:2021年05月21日14時(shí)58分 來(lái)源:傳智教育 瀏覽次數(shù):

傳智教育-一樣的教育,不一樣的品質(zhì)

Spring IOC容器在根據(jù)配置(可以是xml,也可以是注解)創(chuàng)建一個(gè)Bean對(duì)象實(shí)例時(shí),可以為Bean指定實(shí)例的作用域。

作用域包括:

singleton(單例模式)

prototype(原型模式)

request(HTTP請(qǐng)求)

session(會(huì)話)

global-session(全局會(huì)話,在spring5.x版本中已經(jīng)移除了)

五種作用范圍說(shuō)明:

singleton

使用該屬性定義Bean時(shí),IOC容器僅創(chuàng)建一個(gè)Bean實(shí)例,IOC容器每次返回的是同一個(gè)Bean實(shí)例。

prototype

使用該屬性定義Bean時(shí),IOC容器可以創(chuàng)建多個(gè)Bean實(shí)例,每次返回的都是一個(gè)新的實(shí)例。

request

該屬性僅對(duì)HTTP請(qǐng)求產(chǎn)生作用,使用該屬性定義Bean時(shí),每次HTTP請(qǐng)求都會(huì)創(chuàng)建一個(gè)新的Bean,適用于WebApplicationContext環(huán)境。

session

該屬性僅用于HTTP Session,同一個(gè)Session共享一個(gè)Bean實(shí)例。不同Session使用不同的實(shí)例。

global-session

該屬性僅用于HTTP Session,同session作用域不同的是,所有的Session共享一個(gè)Bean實(shí)例。

Bean的作用域

Bean的生命周期

在實(shí)際開(kāi)發(fā)中,我們一般常用的就是單例模式和原型模式。

單例模式生命周期與容器相同。

原型模式生命周期,是每次使用時(shí)創(chuàng)建新的對(duì)象,用完等待垃圾回收器回收。

(3)應(yīng)用場(chǎng)景

Bean的作用域基本上使用的都是單例模式,在使用struts2作為表現(xiàn)層框架時(shí),Action對(duì)象必須設(shè)置為原型(多例)模式。

(4)總結(jié)

本題考察的是:

spring中核心容器中bean對(duì)象作用范圍以及生命周期。







猜你喜歡:

Spring框架怎樣實(shí)現(xiàn)依賴(lài)注入?

Spring Boot如何實(shí)現(xiàn)微服務(wù)?

Spring eureka原理介紹【微服務(wù)架構(gòu)基礎(chǔ)】

傳智教育java培訓(xùn)課程

0 分享到:
和我們?cè)诰€交談!