国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|JavaScript|易語言|

香港云服务器
服務器之家 - 編程語言 - Java教程 - 詳解SpringIOC容器中bean的作用范圍和生命周期

詳解SpringIOC容器中bean的作用范圍和生命周期

2021-08-11 12:19chenhui_Sun Java教程

這篇文章主要介紹了SpringIOC容器中bean的作用范圍和生命周期,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下

bean的作用范圍:
可以通過scope屬性進行設置:

  • singleton 單例的(默認)
  • prototype 多例的
  • request 作用于web應用的請求范圍
  • session 作用于web應用的會話范圍
  • global-session 作用于集群環境的會話范圍(全局會話范圍)

測試:

?
1
2
<!-- 默認是單例的(singleton)-->
<bean id="human" class="com.entity.human"></bean>
?
1
<bean id="human" class="com.entity.human" scope="singleton"></bean>
?
1
2
3
4
5
6
7
8
9
@test
 public void test(){
  //通過classpathxmlapplicationcontext對象加載配置文件方式將javabean對象交給spring來管理
  applicationcontext applicationcontext=new classpathxmlapplicationcontext("bean.xml");
  //獲取spring容器中的bean對象,通過id和類字節碼來獲取
  human human = applicationcontext.getbean("human", human.class);
  human human1 = applicationcontext.getbean("human", human.class);
  system.out.println(human==human1);
 }

結果:

詳解SpringIOC容器中bean的作用范圍和生命周期

將scope屬性設置為prototype時

?
1
<bean id="human" class="com.entity.human" scope="prototype"></bean>

結果:

詳解SpringIOC容器中bean的作用范圍和生命周期

singleton和prototype的區別

  • 如果bean屬性設置為singleton時,當我們加載配置文件時對象已經被初始化
  • 而如果使用prototype時,對象的創建是我們什么時候獲取bean時什么時候創建對象

當設置為prototype時

詳解SpringIOC容器中bean的作用范圍和生命周期
詳解SpringIOC容器中bean的作用范圍和生命周期

當設置為singleton時

詳解SpringIOC容器中bean的作用范圍和生命周期

bean對象的生命周期

單例對象:

  • 出生:當容器創建時對象出生
  • 活著:只有容器還在,對象一直活著
  • 死亡:容器銷戶,對象死亡
  • 單例對象和容器生命周期相同

測試:
先設置屬性init-method和destroy-method,同時在person類中寫入兩個方法進行輸出打印

?
1
2
3
4
5
6
7
public void init(){
 system.out.println("初始化...");
}
 
public void destroy(){
 system.out.println("銷毀了...");
}
?
1
2
3
<bean id="person" class="com.entity.person" scope="singleton" init-method="init" destroy-method="destroy">
   
  </bean>

測試類:

?
1
2
3
4
5
6
7
8
9
@test
 public void test(){
  //通過classpathxmlapplicationcontext對象加載配置文件方式將javabean對象交給spring來管理
  classpathxmlapplicationcontext context=new classpathxmlapplicationcontext("bean.xml");
//  //獲取spring容器中的bean對象,通過id和類字節碼來獲取
  person person = context.getbean("person", person.class);
  //銷毀容器
  context.close();
 }

結果:

詳解SpringIOC容器中bean的作用范圍和生命周期

總結:單例對象和容器生命周期相同

當屬性改為prototype多例時

  • 出生:當我們使用對象時spring框架為我們創建
  • 活著:對象只要是在使用過程中就一直活著
  • 死亡:當對象長時間不用,且沒有別的對象應用時,由java垃圾回收器回收對象

測試類:

?
1
2
3
4
5
6
7
8
9
@test
 public void test(){
  //通過classpathxmlapplicationcontext對象加載配置文件方式將javabean對象交給spring來管理
  classpathxmlapplicationcontext context=new classpathxmlapplicationcontext("bean.xml");
//  //獲取spring容器中的bean對象,通過id和類字節碼來獲取
  person person = context.getbean("person", person.class);
  //銷毀容器
  context.close();
 }

結果:

詳解SpringIOC容器中bean的作用范圍和生命周期

總結:由于spring容器不知道多例對象什么時候使用,什么時候能用完,只有我們自己知道,因此它不會輕易的把對象銷毀,它會通過java垃圾回收器回收對象

到此這篇關于springioc容器中bean的作用范圍和生命周期的文章就介紹到這了,更多相關springioc容器bean作用范圍和生命周期內容請搜索服務器之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持服務器之家!

原文鏈接:https://blog.csdn.net/weixin_45608165/article/details/113842753

延伸 · 閱讀

精彩推薦
1054
主站蜘蛛池模板: 国产片性视频免费播放 | 欧美日韩国产综合视频 | 亚洲精品中文字幕在线观看 | 美日韩精品视频 | 中文字幕在线免费视频 | av成人免费 | 日韩在线视频一区 | 一区亚洲 | 人人澡人人射 | 日韩一区二区三区在线观看 | 欧美日韩免费 | www.44181com| 精品久久久久久久人人人人传媒 | 亚洲午夜一区 | 91超碰在线观看 | 女人夜夜春高潮爽av片 | 国产精品成人3p一区二区三区 | 国产精品自产拍在线观看 | 一本一本久久a久久精品综合妖精 | 国产精品久久久久久久久久99 | 中文字幕成人在线 | 国产精品久久99 | 中文字幕高清在线观看 | 久久综合一区二区 | 久久久精| 国产在线综合视频 | 色成人亚洲www78ixcom | 国产精品一二三区 | 精彩视频一区二区三区 | 国产激情精品一区二区三区 | 久久精品无码一区二区日韩av | 国产精品美女一区 | 天堂伊人网 | 综合激情网 | 亚洲淫片| 欧美激情精品久久久久久变态 | 欧美日韩免费在线 | 日韩和欧美的一区二区 | 成人性做爰av片免费看 | 精品成人av | 午夜视频精品 |