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

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

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

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

Bean的作用域

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

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

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

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

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

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

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

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

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

Bean的生命周期

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

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

總結(jié)

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

相關(guān)文章

  • java之swing下拉菜單實(shí)現(xiàn)方法

    java之swing下拉菜單實(shí)現(xiàn)方法

    這篇文章主要介紹了java之swing下拉菜單實(shí)現(xiàn)方法,以實(shí)例形式較為詳細(xì)的分析了基于swing的下拉菜單實(shí)現(xiàn)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-09-09
  • 深入學(xué)習(xí)Spring Cloud-Ribbon

    深入學(xué)習(xí)Spring Cloud-Ribbon

    這篇文章主要介紹了Spring Cloud-Ribbon的相關(guān)知識(shí),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友一起看看吧
    2021-03-03
  • Spring MVC 文件上傳下載的實(shí)例

    Spring MVC 文件上傳下載的實(shí)例

    本篇文章主要介紹了Spring MVC 文件上傳下載的實(shí)例,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-01-01
  • SpringMVC核心技術(shù)

    SpringMVC核心技術(shù)

    這篇文章主要介紹了SpringMVC入門實(shí)例,在springmvc入門教程里算是比較不錯(cuò)的,結(jié)構(gòu)也比較完整,需要的朋友可以參考。希望可以幫助到你
    2021-07-07
  • Java編寫日歷表的3種方式

    Java編寫日歷表的3種方式

    這篇文章主要為大家詳細(xì)介紹了Java編寫日歷表的3種方式,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • Spring Boot 2.4配置特定環(huán)境時(shí)spring: profiles提示被棄用的原因分析

    Spring Boot 2.4配置特定環(huán)境時(shí)spring: profiles提示被棄用的原

    這篇文章主要介紹了Spring Boot 2.4配置特定環(huán)境時(shí)spring: profiles提示被棄用的原因,本文給大家分享詳細(xì)解決方案,需要的朋友可以參考下
    2023-04-04
  • SpringBoot中@AutoConfiguration和@Configuration區(qū)別

    SpringBoot中@AutoConfiguration和@Configuration區(qū)別

    @AutoConfiguration是Spring Boot2.4引入的一個(gè)新注解,用于標(biāo)記自動(dòng)配置類,它是對(duì)傳統(tǒng)@Configuration 注解的增強(qiáng),下面就來(lái)詳細(xì)的介紹一下這兩者的區(qū)別,感興趣的可以了解一下
    2025-09-09
  • MyBatis-Ext快速入門實(shí)戰(zhàn)

    MyBatis-Ext快速入門實(shí)戰(zhàn)

    MyBatis-Ext是MyBatis的增強(qiáng)擴(kuò)展,和我們平常用的Mybatis-plus非常類似,本文主要介紹了MyBatis-Ext快速入門實(shí)戰(zhàn),感興趣的可以了解一下
    2021-10-10
  • Java中的構(gòu)造方法this、super的用法詳解

    Java中的構(gòu)造方法this、super的用法詳解

    這篇文章較詳細(xì)的給大家介紹了Java中的構(gòu)造方法this、super的用法,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2018-07-07
  • Java getResource()如何獲取class文件目錄位置

    Java getResource()如何獲取class文件目錄位置

    這篇文章主要介紹了Java getResource()如何獲取class文件目錄位置,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-12-12

最新評(píng)論

石棉县| 康保县| 松原市| 通山县| 淮安市| 稷山县| 儋州市| 盘山县| 马尔康县| 民县| 永康市| 定西市| 柘荣县| 林口县| 洪湖市| 正宁县| 锦州市| 永州市| 文化| 德清县| 阿克苏市| 安远县| 板桥市| 厦门市| 从化市| 永兴县| 阳山县| 仁化县| 广水市| 日照市| 申扎县| 隆子县| 和田市| 清镇市| 安化县| 平原县| 苍南县| 莱阳市| 三门县| 鹰潭市| 保德县|