亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

淺談Spring中Bean的作用域、生命周期

 更新時間:2018年01月10日 14:54:43   作者:best.lei  
這篇文章主要介紹了淺談Spring中Bean的作用域、生命周期,具有一定借鑒價值,需要的朋友可以參考下

本文主要探究的是關(guān)于Bean的作用域、生命周期的相關(guān)內(nèi)容,具體如下。

Bean的作用域

  Spring 3中為Bean定義了5中作用域,分別為singleton(單例)、prototype(原型)、request、session和global session,5種作用域說明如下:

1.singleton:單例模式,Spring IoC容器中只會存在一個共享的Bean實(shí)例,無論有多少個Bean引用它,始終指向同一對象。Singleton作用域是Spring中的缺省作用域,也可以顯示的將Bean定義為singleton模式,配置為:

<bean id="userDao" class="com.ioc.UserDaoImpl" scope="singleton"/>

2.prototype:原型模式,每次通過Spring容器獲取prototype定義的bean時,容器都將創(chuàng)建一個新的Bean實(shí)例,每個Bean實(shí)例都有自己的屬性和狀態(tài),而singleton全局只有一個對象。根據(jù)經(jīng)驗(yàn),對有狀態(tài)的bean使用prototype作用域,而對無狀態(tài)的bean使用singleton作用域。

3.request:在一次Http請求中,容器會返回該Bean的同一實(shí)例。而對不同的Http請求則會產(chǎn)生新的Bean,而且該bean僅在當(dāng)前Http Request內(nèi)有效。

<bean id="loginAction" class="com.cnblogs.Login" scope="request"/> ,針對每一次Http請求,Spring容器根據(jù)該bean的定義創(chuàng)建一個全新的實(shí)例,且該實(shí)例僅在當(dāng)前Http請求內(nèi)有效,而其它請求無法看到當(dāng)前請求中狀態(tài)的變化,當(dāng)當(dāng)前Http請求結(jié)束,該bean實(shí)例也將會被銷毀。

4.session:在一次Http Session中,容器會返回該Bean的同一實(shí)例。而對不同的Session請求則會創(chuàng)建新的實(shí)例,該bean實(shí)例僅在當(dāng)前Session內(nèi)有效。

<bean id="userPreference" class="com.ioc.UserPreference" scope="session"/>,同Http請求相同,每一次session請求創(chuàng)建新的實(shí)例,而不同的實(shí)例之間不共享屬性,且實(shí)例僅在自己的session請求內(nèi)有效,請求結(jié)束,則實(shí)例將被銷毀。

5.global Session:在一個全局的Http Session中,容器會返回該Bean的同一個實(shí)例,僅在使用portlet context時有效。

Bean的生命周期

  經(jīng)過如上對Bean作用域的介紹,接下來將在Bean作用域的基礎(chǔ)上講解Bean的生命周期。

  Spring容器可以管理singleton作用域下Bean的生命周期,在此作用域下,Spring能夠精確地知道Bean何時被創(chuàng)建,何時初始化完成,以及何時被銷毀。而對于prototype作用域的Bean,Spring只負(fù)責(zé)創(chuàng)建,當(dāng)容器創(chuàng)建了Bean的實(shí)例后,Bean的實(shí)例就交給了客戶端的代碼管理,Spring容器將不再跟蹤其生命周期,并且不會管理那些被配置成prototype作用域的Bean的生命周期。Spring中Bean的生命周期的執(zhí)行是一個很復(fù)雜的過程,讀者可以利用Spring提供的方法來定制Bean的創(chuàng)建過程。Spring容器在保證一個bean實(shí)例能夠使用之前會做很多工作:

總結(jié)

以上就是本文關(guān)于淺談Spring中Bean的作用域、生命周期的全部內(nèi)容,希望對大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站其他相關(guān)專題,如有不足之處,歡迎留言指出。感謝朋友們對本站的支持!

相關(guān)文章

  • java將一個目錄下的所有文件復(fù)制n次

    java將一個目錄下的所有文件復(fù)制n次

    這篇文章主要為大家詳細(xì)介紹了java將一個目錄下的所有文件復(fù)制n次,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-08-08
  • mybatis配置文件簡介_動力節(jié)點(diǎn)Java學(xué)院整理

    mybatis配置文件簡介_動力節(jié)點(diǎn)Java學(xué)院整理

    這篇文章主要為大家詳細(xì)介紹了mybatis配置文件簡介的相關(guān)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-09-09
  • 用java等語言仿360首頁拼音輸入全模糊搜索和自動換膚

    用java等語言仿360首頁拼音輸入全模糊搜索和自動換膚

    這篇文章主要為大家詳細(xì)介紹了仿360首頁支持拼音輸入全模糊搜索和自動換膚的相關(guān)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-10-10
  • 解決idea npm:無法將“npm”項(xiàng)識別為cmdlet、函數(shù)、腳本文件或可運(yùn)行程序的名稱問題

    解決idea npm:無法將“npm”項(xiàng)識別為cmdlet、函數(shù)、腳本文件或可運(yùn)行程序的名稱問題

    在IDEA中運(yùn)行npm命令時出現(xiàn)無法識別的錯誤,通常是由于npm環(huán)境變量配置不正確引起,解決方法包括以管理員身份運(yùn)行IDEA,確認(rèn)node和npm是否正確安裝及配置環(huán)境變量,需要在系統(tǒng)環(huán)境變量中添加node.js的安裝路徑,并設(shè)置npm的全局模塊和緩存路徑
    2024-10-10
  • Java 十大排序算法之冒泡排序刨析

    Java 十大排序算法之冒泡排序刨析

    冒泡排序是一種簡單的排序算法,它也是一種穩(wěn)定排序算法。其實(shí)現(xiàn)原理是重復(fù)掃描待排序序列,并比較每一對相鄰的元素,當(dāng)該對元素順序不正確時進(jìn)行交換。一直重復(fù)這個過程,直到?jīng)]有任何兩個相鄰元素可以交換,就表明完成了排序
    2021-11-11
  • 利用SpringBoot和LiteFlow解鎖復(fù)雜流程

    利用SpringBoot和LiteFlow解鎖復(fù)雜流程

    隨著業(yè)務(wù)的復(fù)雜化,企業(yè)需要更加高效、便捷地管理自己的業(yè)務(wù)流程,這就需要借助一些流程引擎實(shí)現(xiàn),今天,我們就來介紹一種基于Java語言開發(fā)的輕量級工作流引擎——LiteFlow,以及如何在Spring Boot框架中集成它,從而提高企業(yè)的工作效率和開發(fā)效率
    2023-06-06
  • POI讀取excel簡介_動力節(jié)點(diǎn)Java學(xué)院整理

    POI讀取excel簡介_動力節(jié)點(diǎn)Java學(xué)院整理

    這篇文章主要介紹了POI讀取excel簡介,詳細(xì)的介紹了什么是Apache POI和組件,有興趣的可以了解了解一下
    2017-08-08
  • Springboot自動加載配置的原理解析

    Springboot自動加載配置的原理解析

    Springboot遵循“約定優(yōu)于配置”的原則,使用注解對一些常規(guī)的配置項(xiàng)做默認(rèn)配置,減少或不使用xml配置,讓你的項(xiàng)目快速運(yùn)行起來,這篇文章主要給大家介紹了關(guān)于Springboot自動加載配置原理的相關(guān)資料,需要的朋友可以參考下
    2021-10-10
  • Windows?10卸載JDK1.8超詳細(xì)圖文教程

    Windows?10卸載JDK1.8超詳細(xì)圖文教程

    這篇文章主要介紹了Windows?10卸載JDK1.8超詳細(xì)圖文教程,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-03-03
  • Spring和activiti進(jìn)行整合過程解析

    Spring和activiti進(jìn)行整合過程解析

    這篇文章主要介紹了Spring和activiti進(jìn)行整合過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-03-03

最新評論