最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

關(guān)于Java中Bean的作用域詳解

 更新時(shí)間:2023年08月03日 10:39:30   作者:M??? ??.  
這篇文章主要介紹了關(guān)于Java中Bean的作用域詳解,限定程序中變量的可?范圍叫做作?域,或者說(shuō)在源代碼中定義變量的某個(gè)區(qū)域就叫做作?域,需要的朋友可以參考下

1.作用域定義

限定程序中變量的可?范圍叫做作?域,或者說(shuō)在源代碼中定義變量的某個(gè)區(qū)域就叫做作?域。

? Bean 的作?域是指 Bean 在 Spring 整個(gè)框架中的某種?為模式,?如 singleton 單例作?域,就表示 Bean 在整個(gè) Spring 中只有?份,它是全局共享的,那么當(dāng)其他?修改了這個(gè)值之后,那么另?個(gè)?讀取到的就是被修改的值。

2.Bean 的 6 種作用域

Spring 容器在初始化?個(gè) Bean 的實(shí)例時(shí),同時(shí)會(huì)指定該實(shí)例的作?域。

Spring常見(jiàn)的有 6 種作?域,最后四種是基于 Spring MVC ?效的:

  1. singleton:?jiǎn)卫?域
  2. prototype:原型作?域(多例作?域)
  3. request:請(qǐng)求作?域
  4. session:會(huì)話作?域
  5. application:全局作?域
  6. websocket:HTTP WebSocket 作?域

注意后 4 種狀態(tài)是 Spring MVC 中的值,在普通的 Spring 項(xiàng)?中只有前兩種

singleton

  • 官?說(shuō)明:(Default) Scopes a single bean definition to a single object instance for each Spring IoC container.
  • 描述:該作?域下的Bean在IoC容器中只存在?個(gè)實(shí)例:獲取Bean(即通過(guò)applicationContext.getBean等?法獲取)及裝配Bean(即通過(guò)@Autowired注?)都是同?對(duì)象。
  • 場(chǎng)景:通常?狀態(tài)的Bean使?該作?域。?狀態(tài)表示Bean對(duì)象的屬性狀態(tài)不需要更新
  • 備注:Spring默認(rèn)選擇該作?域

prototype

  • 官?說(shuō)明:Scopes a single bean definition to any number of object instances.
  • 描述:每次對(duì)該作?域下的Bean的請(qǐng)求都會(huì)創(chuàng)建新的實(shí)例:獲取Bean(即通過(guò)applicationContext.getBean等?法獲取)及裝配Bean(即通過(guò)@Autowired注?)都是新的對(duì)象實(shí)例。
  • 場(chǎng)景:通常有狀態(tài)的Bean使?該作?域

request

  • 官?說(shuō)明:Scopes a single bean definition to the lifecycle of a single HTTP request. That is, each HTTP request has its own instance of a bean created off the back of a single bean definition. Only valid in the context of a web-aware Spring ApplicationContext.
  • 描述:每次http請(qǐng)求會(huì)創(chuàng)建新的Bean實(shí)例,類似于prototype
  • 場(chǎng)景:?次http的請(qǐng)求和響應(yīng)的共享Bean
  • 備注:限定SpringMVC中使?

session

  • 官?說(shuō)明:Scopes a single bean definition to the lifecycle of an HTTP Session. Only valid in the context of a web-aware Spring ApplicationContext.
  • 描述:在?個(gè)http session中,定義?個(gè)Bean實(shí)例
  • 場(chǎng)景:?戶回話的共享Bean, ?如:記錄?個(gè)?戶的登陸信息
  • 備注:限定SpringMVC中使?

application(了解)

  • 官?說(shuō)明:Scopes a single bean definition to the lifecycle of a ServletContext. Only valid in the context of a web-aware Spring ApplicationContext.
  • 描述:在?個(gè)http servlet Context中,定義?個(gè)Bean實(shí)例
  • 場(chǎng)景:Web應(yīng)?的上下?信息,?如:記錄?個(gè)應(yīng)?的共享信息
  • 備注:限定SpringMVC中使?

websocket(了解)

  • 官?說(shuō)明:Scopes a single bean definition to the lifecycle of a WebSocket. Only valid in the context of a web-aware Spring ApplicationContext.
  • 描述:在?個(gè)HTTP WebSocket的?命周期中,定義?個(gè)Bean實(shí)例
  • 場(chǎng)景:WebSocket的每次會(huì)話中,保存了?個(gè)Map結(jié)構(gòu)的頭信息,將?來(lái)包裹客戶端消息頭。第?次初始化后,直到WebSocket結(jié)束都是同?個(gè)Bean。
  • 備注:限定Spring WebSocket中使?

單例作?域(singleton) VS 全局作?域(application)

  • singleton 是 Spring Core 的作?域;application 是 Spring Web 中的作?域;
  • singleton 作?于 IoC 的容器,? application 作?于 Servlet 容器。

3. 設(shè)置作?域

使? @Scope 標(biāo)簽就可以?來(lái)聲明 Bean 的作?域,?如設(shè)置 Bean 的作?域,如下代碼所示:

@Component
public class Users {
 @Scope("prototype")
 @Bean(name = "u1")
 public User user1() {
 User user = new User();
 user.setId(1);
 user.setName("Java"); // 【重點(diǎn):名稱是 Java】
 return user;
 }
}

@Scope 標(biāo)簽既可以修飾?法也可以修飾類,@Scope 有兩種設(shè)置?式:

  • 直接設(shè)置值:@Scope("prototype")
  • 使?枚舉設(shè)置:@Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE)

到此這篇關(guān)于關(guān)于Java中Bean的作用域詳解的文章就介紹到這了,更多相關(guān)Bean的作用域內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • IDEA啟動(dòng)tomcat狀態(tài)404的解決

    IDEA啟動(dòng)tomcat狀態(tài)404的解決

    在使用Idea進(jìn)行Java?Web開(kāi)發(fā)過(guò)程中,經(jīng)常會(huì)遇到Tomcat出現(xiàn)404錯(cuò)誤的問(wèn)題,本文就來(lái)介紹了IDEA啟動(dòng)tomcat狀態(tài)404的解決,具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-10-10
  • java使用枚舉封裝錯(cuò)誤碼及錯(cuò)誤信息詳解

    java使用枚舉封裝錯(cuò)誤碼及錯(cuò)誤信息詳解

    這篇文章主要介紹了java使用枚舉封裝錯(cuò)誤碼及錯(cuò)誤信息,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • java實(shí)現(xiàn)向有序數(shù)組中插入一個(gè)元素實(shí)例

    java實(shí)現(xiàn)向有序數(shù)組中插入一個(gè)元素實(shí)例

    本篇文章主要介紹了java實(shí)現(xiàn)向有序數(shù)組中插入一個(gè)元素實(shí)例,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-05-05
  • Java內(nèi)存模型的深入講解

    Java內(nèi)存模型的深入講解

    這篇文章主要給大家介紹了關(guān)于Java內(nèi)存模型的相關(guān)資料,我們常說(shuō)的JVM內(nèi)存模式指的是JVM的內(nèi)存分區(qū),而Java內(nèi)存模式是一種虛擬機(jī)規(guī)范,需要的朋友可以參考下
    2021-07-07
  • IDEA中右側(cè)沒(méi)有顯示Maven問(wèn)題及解決

    IDEA中右側(cè)沒(méi)有顯示Maven問(wèn)題及解決

    解決IDEA中Maven工具窗口不顯示的問(wèn)題,包括手動(dòng)重新加載Maven項(xiàng)目、啟用Maven插件、手動(dòng)加載Maven項(xiàng)目、重置IDEA配置和檢查IDEA版本和Maven配置
    2026-02-02
  • Java框架學(xué)習(xí)Struts2復(fù)選框?qū)嵗a

    Java框架學(xué)習(xí)Struts2復(fù)選框?qū)嵗a

    這篇文章主要介紹了Java框架學(xué)習(xí)Struts2復(fù)選框?qū)嵗a,分享了相關(guān)代碼示例,小編覺(jué)得還是挺不錯(cuò)的,具有一定借鑒價(jià)值,需要的朋友可以參考下
    2018-02-02
  • Java基于Log4j2實(shí)現(xiàn)異步日志系統(tǒng)的性能優(yōu)化實(shí)踐指南

    Java基于Log4j2實(shí)現(xiàn)異步日志系統(tǒng)的性能優(yōu)化實(shí)踐指南

    在高并發(fā)的后端應(yīng)用中,日志記錄往往成為性能瓶頸之一,本文將從原理層面解析 Log4j2 異步Appender 與 Disruptor 工作機(jī)制,并結(jié)合 Spring Boot 業(yè)務(wù)場(chǎng)景給出最佳實(shí)踐配置與性能調(diào)優(yōu)建議
    2025-07-07
  • Redisson分布式鎖實(shí)現(xiàn)原理示例詳解

    Redisson分布式鎖實(shí)現(xiàn)原理示例詳解

    Redisson分布式鎖通過(guò)Lua腳本保證原子性操作,實(shí)現(xiàn)了分布式互斥、可重入、自動(dòng)續(xù)期等核心特性,其高級(jí)特性包括公平鎖、讀寫(xiě)鎖和紅鎖算法,能夠滿足不同場(chǎng)景下的并發(fā)控制需求,這篇文章主要介紹了Redisson分布式鎖實(shí)現(xiàn)原理的相關(guān)資料,需要的朋友可以參考下
    2026-04-04
  • 一文詳細(xì)解析Java?8?Stream?API中的flatMap方法

    一文詳細(xì)解析Java?8?Stream?API中的flatMap方法

    這篇文章主要介紹了Java?8?Stream?API中的flatMap方法的相關(guān)資料,flatMap方法是Java?StreamAPI中的重要中間操作,用于將流中的每個(gè)元素轉(zhuǎn)換為一個(gè)新的流,并將多個(gè)流合并為一個(gè)單一的流,常用于處理嵌套集合和一對(duì)多映射,需要的朋友可以參考下
    2024-12-12
  • feign調(diào)用中文參數(shù)被encode編譯的問(wèn)題

    feign調(diào)用中文參數(shù)被encode編譯的問(wèn)題

    這篇文章主要介紹了feign調(diào)用中文參數(shù)被encode編譯的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-03-03

最新評(píng)論

台东市| 孙吴县| 曲麻莱县| 马尔康县| 县级市| 怀安县| 马山县| 兴隆县| 黔西| 米林县| 满城县| 长丰县| 阜宁县| 台东县| 湖北省| 德清县| 河间市| 天峻县| 宜州市| 边坝县| 安徽省| 类乌齐县| 澄江县| 开封市| 广宗县| 水富县| 东乌珠穆沁旗| 陆良县| 高碑店市| 赤水市| 新疆| 工布江达县| 潢川县| 太原市| 电白县| 锦州市| 罗田县| 乐至县| 安康市| 阿鲁科尔沁旗| 巴楚县|