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

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

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

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

Bean的作用域

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

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

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

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

3.request:在一次Http請求中,容器會返回該Bean的同一實例。而對不同的Http請求則會產生新的Bean,而且該bean僅在當前Http Request內有效。

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

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

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

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

Bean的生命周期

  經過如上對Bean作用域的介紹,接下來將在Bean作用域的基礎上講解Bean的生命周期。

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

總結

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

相關文章

  • java之swing下拉菜單實現方法

    java之swing下拉菜單實現方法

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

    深入學習Spring Cloud-Ribbon

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

    Spring MVC 文件上傳下載的實例

    本篇文章主要介紹了Spring MVC 文件上傳下載的實例,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-01-01
  • SpringMVC核心技術

    SpringMVC核心技術

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

    Java編寫日歷表的3種方式

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

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

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

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

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

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

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

    Java中的構造方法this、super的用法詳解

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

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

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

最新評論

那坡县| 昔阳县| 香格里拉县| 寻乌县| 万源市| 宝坻区| 磐石市| 蛟河市| 沂源县| 招远市| 山东省| 嘉兴市| 襄樊市| 德江县| 偏关县| 岳阳县| 扎囊县| 竹北市| 肇东市| 富锦市| 突泉县| 阿图什市| 福清市| 乾安县| 花莲市| 夏津县| 宣威市| 东台市| 丰宁| 吉木萨尔县| 鸡西市| 望都县| 邵阳县| 淅川县| 德清县| 体育| 临武县| 东至县| 威信县| 报价| 平邑县|