真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

SpringIOC容器中bean的作用范圍是什么-創(chuàng)新互聯(lián)

這篇文章主要為大家詳細(xì)介紹了SpringIOC容器中bean的作用范圍是什么,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,發(fā)現(xiàn)的小伙伴們可以參考一下:

創(chuàng)新互聯(lián)是專業(yè)的北戴河網(wǎng)站建設(shè)公司,北戴河接單;提供成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作、外貿(mào)網(wǎng)站建設(shè),網(wǎng)頁(yè)設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行北戴河網(wǎng)站開(kāi)發(fā)網(wǎng)頁(yè)制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛(ài)的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來(lái)合作!

bean的作用范圍:
可以通過(guò)scope屬性進(jìn)行設(shè)置:

  • singleton 單例的(默認(rèn))

  • prototype 多例的

  • request 作用于web應(yīng)用的請(qǐng)求范圍

  • session 作用于web應(yīng)用的會(huì)話范圍

  • global-session 作用于集群環(huán)境的會(huì)話范圍(全局會(huì)話范圍)

測(cè)試:


@Test
 public void test(){
  //通過(guò)ClassPathXmlApplicationContext對(duì)象加載配置文件方式將javabean對(duì)象交給spring來(lái)管理
  ApplicationContext applicationContext=new ClassPathXmlApplicationContext("bean.xml");
  //獲取Spring容器中的bean對(duì)象,通過(guò)id和類字節(jié)碼來(lái)獲取
  Human human = applicationContext.getBean("human", Human.class);
  Human human1 = applicationContext.getBean("human", Human.class);
  System.out.println(human==human1);
 }

結(jié)果:

SpringIOC容器中bean的作用范圍是什么

將scope屬性設(shè)置為prototype時(shí)

  

結(jié)果:

SpringIOC容器中bean的作用范圍是什么

singleton和prototype的區(qū)別

  • 如果bean屬性設(shè)置為singleton時(shí),當(dāng)我們加載配置文件時(shí)對(duì)象已經(jīng)被初始化

  • 而如果使用prototype時(shí),對(duì)象的創(chuàng)建是我們什么時(shí)候獲取bean時(shí)什么時(shí)候創(chuàng)建對(duì)象

當(dāng)設(shè)置為prototype時(shí)

SpringIOC容器中bean的作用范圍是什么
SpringIOC容器中bean的作用范圍是什么

當(dāng)設(shè)置為singleton時(shí)

SpringIOC容器中bean的作用范圍是什么

bean對(duì)象的生命周期

單例對(duì)象:

  • 出生:當(dāng)容器創(chuàng)建時(shí)對(duì)象出生

  • 活著:只有容器還在,對(duì)象一直活著

  • 死亡:容器銷戶,對(duì)象死亡

  • 單例對(duì)象和容器生命周期相同

測(cè)試:
先設(shè)置屬性init-method和destroy-method,同時(shí)在person類中寫入兩個(gè)方法進(jìn)行輸出打印

 public void init(){
  System.out.println("初始化...");
 }

 public void destroy(){
  System.out.println("銷毀了...");
 }

   
  

測(cè)試類:

@Test
 public void test(){
  //通過(guò)ClassPathXmlApplicationContext對(duì)象加載配置文件方式將javabean對(duì)象交給spring來(lái)管理
  ClassPathXmlApplicationContext Context=new ClassPathXmlApplicationContext("bean.xml");
//  //獲取Spring容器中的bean對(duì)象,通過(guò)id和類字節(jié)碼來(lái)獲取
  Person person = Context.getBean("person", Person.class);
  //銷毀容器
  Context.close();
 }

結(jié)果:

SpringIOC容器中bean的作用范圍是什么

總結(jié):?jiǎn)卫龑?duì)象和容器生命周期相同

當(dāng)屬性改為prototype多例時(shí)

  • 出生:當(dāng)我們使用對(duì)象時(shí)spring框架為我們創(chuàng)建

  • 活著:對(duì)象只要是在使用過(guò)程中就一直活著

  • 死亡:當(dāng)對(duì)象長(zhǎng)時(shí)間不用,且沒(méi)有別的對(duì)象應(yīng)用時(shí),由java垃圾回收器回收對(duì)象

測(cè)試類:

@Test
 public void test(){
  //通過(guò)ClassPathXmlApplicationContext對(duì)象加載配置文件方式將javabean對(duì)象交給spring來(lái)管理
  ClassPathXmlApplicationContext Context=new ClassPathXmlApplicationContext("bean.xml");
//  //獲取Spring容器中的bean對(duì)象,通過(guò)id和類字節(jié)碼來(lái)獲取
  Person person = Context.getBean("person", Person.class);
  //銷毀容器
  Context.close();
 }

結(jié)果:

SpringIOC容器中bean的作用范圍是什么

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司,。


分享題目:SpringIOC容器中bean的作用范圍是什么-創(chuàng)新互聯(lián)
分享網(wǎng)址:http://weahome.cn/article/ccoiji.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部