国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

關(guān)于Bean的六種作用域

這篇具有很好參考價(jià)值的文章主要介紹了關(guān)于Bean的六種作用域。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。


前言

在JavaSE中,我們學(xué)習(xí)過了全局變量以及局部變量,這里就涉及到了作用域問題,那么什么是作用域呢?

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

而Bean的作用域指的是Bean在Spring整個(gè)框架中的某種行為模式,比如singleton單域作用域,就表示Bean在整個(gè)SPring框架中只有一份,它是全局共享的,如果這個(gè)值在一個(gè)地方被修改了,那么在另一個(gè)地方讀取時(shí),就是被修改的值。

接下來,讓我們一起來看一看Bean的六種作用域,每種作用域的效果以及每個(gè)作用域的使用場(chǎng)景。


一、singleton(單例作用域)

在該作用域下,Bean在IoC容器中只存在著一個(gè)實(shí)例,無論是獲取Bean(即通過applicationContext.getBean等方法獲?。┻€是裝配Bean(即通過@Autowired注入)都是同一個(gè)對(duì)象。

通常情況下,無狀態(tài)的Bean使用該作用域,無狀態(tài)指的是Bean對(duì)象的屬性狀態(tài)不需要更新。

在Spring框架中,默認(rèn)使用該作用域。

二、prototype(原型作用域、多例作用域)

在該作用域下,每次對(duì)Bean的請(qǐng)求都會(huì)創(chuàng)建一個(gè)新的實(shí)例,無論是獲取Bean還是裝配Bean,都將是新的實(shí)例對(duì)象。

通常情況下有狀態(tài)的Bean使用該作用域。

三、request(請(qǐng)求作用域)

請(qǐng)求作用域,顧名思義,每次http請(qǐng)求都會(huì)創(chuàng)建新的Bean實(shí)例,類似于prototype。

這個(gè)作用域使用于一次http的請(qǐng)求和響應(yīng)中,同時(shí),是請(qǐng)求和響應(yīng)所共享的Bean。

這個(gè)作用域限定在SpringMVC框架中使用。

四、session(會(huì)話作用域)

這個(gè)作用域描述的是在一個(gè)http session中,定義一個(gè)Bean實(shí)例。

可用于用戶會(huì)話的共享Bean,比如:記錄一個(gè)用戶的登錄信息。

這個(gè)作用域也是限定在SpringMVC框架中使用。

五、application(全局作用域)

這個(gè)作用域描述的是在一個(gè)http servlet Context中,定義一個(gè)Bean實(shí)例。

可用于Web應(yīng)用的上下文信息,比如:記錄一個(gè)應(yīng)用的共享信息。

這個(gè)作用域也是限定在SpringMVC框架中使用。

六、websocket(HTTP WebSocket作用域)

這個(gè)作用域描述的是在一個(gè)HTTP WebSocket的生命周期中,定義一個(gè)Bean實(shí)例。

WebSocket的每次會(huì)話中,保存了一個(gè)Map結(jié)構(gòu)的頭信息,將用來包裹客戶端消息頭。第一次初始化之后,直到WebSocket結(jié)束都是同一個(gè)Bean.

這個(gè)作用域也是限定在SpringMVC框架中使用。

總結(jié)

在普通的Spring項(xiàng)目中,只有前兩種作用域,后四種狀態(tài)的作用域是
SpringMVC中使用的。

除此之外,singleton(單例作用域)和application(全局作用域)看似都是差不多的,那么它們到底有什么區(qū)別呢?文章來源地址http://www.zghlxwxcb.cn/news/detail-480538.html

  1. singleton是Spring Core的作用域;application是Spring Web中的作用域。
  2. singleton作用于IoC容器,而application作用于Servlet容器。

到了這里,關(guān)于關(guān)于Bean的六種作用域的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【SpringMVC]獲取參數(shù)的六種方式

    【SpringMVC]獲取參數(shù)的六種方式

    目錄 1.通過ServletAPI獲取 2.通過控制器方法的形參獲取 3.@RequestParam:將請(qǐng)求參數(shù)和控制器方法的形參綁定 4.@RequestHeader:將請(qǐng)求頭信息與控制器方法的形參的值進(jìn)行綁定 5. CookieValue:將cookie數(shù)據(jù)和控制器方法的形參綁定 Cookie: ?編輯 6.通過控制器方法的實(shí)體類類型的形參獲取

    2024年02月09日
    瀏覽(20)
  • Python中的六種基本數(shù)據(jù)類型

    Python中分為六種基本數(shù)據(jù)類型 不可變類型(又叫靜態(tài)數(shù)據(jù)類型,沒有增刪改操作):數(shù)字(number)、字符串(string)、元組(tuple) 可變類型(又叫動(dòng)態(tài)數(shù)據(jù)類型,支持增刪改操作):列表(list)、字典(dictionary)、集合(set) 1. 數(shù)字類型(numbers): 數(shù)字類型下還可分為整數(shù)(int)、浮點(diǎn)數(shù)(f

    2024年02月04日
    瀏覽(25)
  • 斐波那契數(shù)列的六種解法

    做這個(gè)問題之前,我們需要了解到斐波那契數(shù)列是什么東西?是干什么的? 斐波那契數(shù)列是什么? 一、斐波那契數(shù)列指的是這樣一個(gè)數(shù)列:1、1、2、3、5、8、13、21、…… 這個(gè)數(shù)列從第三項(xiàng)開始,每一項(xiàng)都等于前兩項(xiàng)之和。 二、應(yīng)用:通常在個(gè)別股票中不是太準(zhǔn)確,通常在指數(shù)上

    2024年02月08日
    瀏覽(34)
  • SpringBoot 實(shí)現(xiàn)跨域的六種方式

    目錄 1.通過SpringSecurity方式配置 2.使用Spring提供的CorsFilter注入Bean(推薦) 3.使用注解@CrossOrigin注解(繁瑣) 4.通過ResponseBodyAdvice 實(shí)現(xiàn)跨域 5.通過HttpServletResponse設(shè)置跨域 6.通過WebMvcConfigurer 實(shí)現(xiàn)跨域 與第5類似

    2024年02月14日
    瀏覽(29)
  • uniapp路由跳轉(zhuǎn)的六種方式

    uniapp路由跳轉(zhuǎn)的六種方式

    uniapp官方文檔詳解: 一、uni.navigateTo保留當(dāng)前頁面,跳轉(zhuǎn)到應(yīng)用內(nèi)的某個(gè)頁面,使用uni.navigateBack可以返回到原頁面。 注意: 頁面跳轉(zhuǎn)路徑有層級(jí)限制,不能無限制跳轉(zhuǎn)新頁面 跳轉(zhuǎn)到 tabBar 頁面只能使用 switchTab 跳轉(zhuǎn) 二、uni.redirectTo關(guān)閉當(dāng)前頁面,跳轉(zhuǎn)到應(yīng)用內(nèi)的某個(gè)頁面。

    2024年02月11日
    瀏覽(31)
  • C語言實(shí)現(xiàn)排序算法的六種方式

    1、冒泡法 2、交換法 每次用當(dāng)前的元素一一的同其后的元素 3、選擇法 從數(shù)據(jù)中選擇最小的同第一個(gè)值交換,在從剩下的部分中選擇最小的與第二個(gè)交換,這樣往復(fù)下去 4、插入法 在前面的數(shù)中尋找相應(yīng)的位置插入, 然后繼續(xù)下一張 插入排序就是每一步都將一個(gè)待排數(shù)據(jù)按

    2024年01月25日
    瀏覽(18)
  • 最常見的六種跨域解決方案

    最常見的六種跨域解決方案

    前言:什么是跨域? JSONP CORS 搭建Node代理服務(wù)器 Nginx反向代理 postMessage Websocket 總結(jié) 跨域就是當(dāng)在頁面上發(fā)送ajax請(qǐng)求時(shí), 由于瀏覽器同源策略的限制,要求當(dāng)前頁面和服務(wù)端必須同源,也就是協(xié)議、域名和端口號(hào)必須一致 。 如果協(xié)議、域名和端口號(hào)中有其中一個(gè)不一致,

    2024年01月25日
    瀏覽(24)
  • bitmap的六種壓縮方式,Android圖片壓縮

    bitmap的六種壓縮方式,Android圖片壓縮

    Android中圖片是以bitmap形式存在的,那么bitmap所占內(nèi)存,直接影響到了應(yīng)用所占內(nèi)存大小,首先要知道bitmap所占內(nèi)存大小計(jì)算方式: 圖片長(zhǎng)度 x 圖片寬度 x 一個(gè)像素點(diǎn)占用的字節(jié)數(shù) 以下是圖片的壓縮格式: 其中,A代表透明度;R代表紅色;G代表綠色;B代表藍(lán)色。 ALPHA_8 表示

    2024年02月09日
    瀏覽(30)
  • vue組件間傳值的六種方法

    vue組件間傳值的六種方法

    父組件代碼: 子組件代碼: 頁面顯示: 子組件代碼: 父組件代碼: 頁面顯示: 父子組件傳值原理:父子組件的關(guān)系可以總結(jié)為 prop 向下傳遞,事件向上傳遞。父組件通過 prop 給子組件下發(fā)數(shù)據(jù),子組件通過事件給父組件發(fā)送消息,如下圖所示: ref:如果在普通的 DOM 元素

    2024年02月15日
    瀏覽(30)
  • C生萬物 | 常見的六種動(dòng)態(tài)內(nèi)存錯(cuò)誤

    C生萬物 | 常見的六種動(dòng)態(tài)內(nèi)存錯(cuò)誤

    學(xué)習(xí)過C語言中的動(dòng)態(tài)內(nèi)存函數(shù),例如【malloc】、【calloc】、【realloc】、【free】,那它們?cè)谑褂玫倪^程中會(huì)碰到哪些問題呢,本本文我們一起來探討下~ 代碼: 分析: 首先看到第一個(gè),你要知道的是 INT_MAX 是什么。它是一個(gè)宏定義,表示int類型(整型)能夠表示的最大值,其

    2024年02月11日
    瀏覽(17)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包