国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當(dāng)前位置: 首頁(yè) > news >正文

網(wǎng)站建設(shè)規(guī)劃書(shū)的目的南昌seo排名收費(fèi)

網(wǎng)站建設(shè)規(guī)劃書(shū)的目的,南昌seo排名收費(fèi),safari瀏覽器下載,項(xiàng)目網(wǎng)站分析Bean的生命周期Bean的執(zhí)行流程:Bean 執(zhí)行流程:啟動(dòng)Spring 容器 -> 實(shí)例化 Bean(分配內(nèi)存空間,從無(wú)到有)-> Bean 注冊(cè)到 Spring 中(存操作) -> 將 Bean 裝配到需要的類中(取…

Bean的生命周期

Bean的執(zhí)行流程:

Bean 執(zhí)行流程:啟動(dòng)Spring 容器 -> 實(shí)例化 Bean(分配內(nèi)存空間,從無(wú)到有)-> Bean 注冊(cè)到 Spring 中(存操作) -> 將 Bean 裝配到需要的類中(取操作)。

所謂的?命周期指的是?個(gè)對(duì)象從誕?到銷毀的整個(gè)?命過(guò)程,我們把這個(gè)過(guò)程就叫做?個(gè)對(duì)象的?命周期。

Bean 的?命周期分為以下 5 ?部分:

1.實(shí)例化 Bean(為 Bean 分配內(nèi)存空間)

2.設(shè)置屬性(Bean 注?和裝配)

3.Bean 初始化

實(shí)現(xiàn)了各種Aware 通知的?法,如 BeanNameAware、BeanFactoryAware、ApplicationContextAware 的接??法;

執(zhí)?BeanPostProcessor 初始化前置?法;

執(zhí)?@PostConstruct 初始化?法,依賴注?操作之后被執(zhí)?;

執(zhí)???指定的init-method ?法(如果有指定的話);

執(zhí)?BeanPostProcessor 初始化后置?法。

4.使? Bean

5.銷毀 Bean

銷毀容器的各種?法,如@PreDestroy、重寫(xiě)DisposableBean 接??法、destroy-method。

實(shí)例化和初始化的區(qū)別:

實(shí)例化和屬性設(shè)置是系統(tǒng)“事件”,其操作過(guò)程不可???預(yù)和修改;?初始化是給開(kāi)發(fā)者提供的,可以在實(shí)例化之后,類加載完成之前進(jìn)??定義“事件”處理。

Bean 的?命流程看似繁瑣,但咱們可以以?活中的場(chǎng)景來(lái)理解它,?如我們現(xiàn)在需要買?棟房?,那么我們的流程是這樣的:

1. 先買房(實(shí)例化,從?到有);

2. 裝修(設(shè)置屬性);

3. 買家電,如洗?機(jī)、冰箱、電視、空調(diào)等([各種]初始化);

4. ?住(使? Bean);

5. 賣出去(Bean 銷毀)。

為什么要先設(shè)置屬性在進(jìn)?初始化呢?

很明顯是避免空指針異常

Bean的作用域

現(xiàn)在有?個(gè)公共的 Bean,提供給 A ?戶和 B ?戶使?,然?在使?的途中 A ?戶卻“悄悄”地修改了公共 Bean 的數(shù)據(jù),導(dǎo)致 B ?戶在使?時(shí)發(fā)?了預(yù)期之外的邏輯錯(cuò)誤。

案例如下:

公共 Bean:

A ?戶使?時(shí),進(jìn)?了修改操作:

B ?戶再去使?公共 Bean 的時(shí)候:

打印 A ?戶和 B ?戶公共 Bean 的值:

以上問(wèn)題的原因是因?yàn)锽ean 默認(rèn)情況下是單例模式(singleton),也就是所有?的使?的都是同?個(gè)對(duì)象,使?單例可以很?程度上提?性能,所以在 Spring 中Bean 的作?域默認(rèn)也是 singleton 單例模式。

所以限定程序中變量的可?范圍叫做作?域,或者說(shuō)在源代碼中定義變量的某個(gè)區(qū)域就叫做作?域。?Bean 的作?域是指 Bean 在 Spring 整個(gè)框架中的某種?為模式,?如 singleton 單例作?域,就表示 Bean 在整個(gè) Spring 中只有?份,它是全局共享的,那么當(dāng)其他?修改了這個(gè)值之后,那么另?個(gè)?讀取到的就是被修改的值。

Spring 容器在初始化?個(gè) Bean 的實(shí)例時(shí),同時(shí)會(huì)指定該實(shí)例的作?域。Spring有 6 種作?域,最后四種是基于Spring MVC ?效的:

1. singleton:單例作?域

2. prototype:原型作?域(多例作?域)

3. request:請(qǐng)求作?域

4. session:回話作?域

5. application:全局作?域

6. websocket:HTTP WebSocket 作?域

注意后4 種狀態(tài)是 Spring MVC 中的值,在普通的 Spring 項(xiàng)?中只有前兩種。

Singleton(單例作?域):

官?說(shuō)明:(Default) Scopes a single bean definition to a single object instance for each Spring IoC container.

描述:該作?域下的Bean在IoC容器中只存在?個(gè)實(shí)例:獲取Bean(即通過(guò)applicationContext.getBean等?法獲取)及裝配Bean(即通過(guò)@Autowired注?)都是同?個(gè)對(duì)象。

場(chǎng)景:通常?狀態(tài)的Bean使?該作?域。?狀態(tài)表示Bean對(duì)象的屬性狀態(tài)不需要更新 。

備注:Spring默認(rèn)選擇該作?域

prototype原型作?域(多例作?域)

官?說(shuō)明:Scopes a single bean definition to any number of object instances.

描述:每次對(duì)該作?域下的Bean的請(qǐng)求都會(huì)創(chuàng)建新的實(shí)例:獲取Bean(即通過(guò)applicationContext.getBean等?法獲取)及裝配Bean(即通過(guò)@Autowired注?)都是新的對(duì)象實(shí)例,其實(shí)這種對(duì)系統(tǒng)資源開(kāi)銷比較大。

場(chǎng)景:通常有狀態(tài)的Bean使?該作?域

Request(請(qǐng)求作?域)

官?說(shuō)明:Scopes a single bean definition to the lifecycle of a single HTTP request. That is, each HTTP request has its own instance of a bean created off the back of a single

bean definition. Only valid in the context of a web-aware Spring ApplicationContext.

描述:每次http請(qǐng)求會(huì)創(chuàng)建新的Bean實(shí)例,類似于prototype

場(chǎng)景:?次http的請(qǐng)求和響應(yīng)的共享Bean

備注:限定SpringMVC中使?

Session(回話作?域)

官?說(shuō)明:Scopes a single bean definition to the lifecycle of an HTTP Session. Only valid in the context of a web-aware Spring ApplicationContext.

描述:在?個(gè)http session中,定義?個(gè)Bean實(shí)例

場(chǎng)景:?戶回話的共享Bean, ?如:記錄?個(gè)?戶的登陸信息

備注:限定SpringMVC中使?

Application(全局作?域)

官?說(shuō)明:Scopes a single bean definition to the lifecycle of a ServletContext. Only valid in the context of a web-aware Spring ApplicationContext.

描述:在?個(gè)http servlet Context中,定義?個(gè)Bean實(shí)例

場(chǎng)景:Web應(yīng)?的上下?信息,?如:記錄?個(gè)應(yīng)?的共享信息

備注:限定SpringMVC中使?

Websocket(HTTP WebSocket 作?域)

官?說(shuō)明:Scopes a single bean definition to the lifecycle of a WebSocket. Only valid in the context of a web-aware Spring ApplicationContext.

描述:在?個(gè)HTTP WebSocket的?命周期中,定義?個(gè)Bean實(shí)例

場(chǎng)景:WebSocket的每次會(huì)話中,保存了?個(gè)Map結(jié)構(gòu)的頭信息,將?來(lái)包裹客戶端消息頭。第?次初始化后,直到WebSocket結(jié)束都是同?個(gè)Bean。

備注:限定Spring WebSocket中使?

單例作?域(singleton)和全局作?域(application)區(qū)別

singleton 是 Spring Core 的作?域;application 是 Spring Web 中的作?域;

singleton 作?于 IoC 的容器,? application 作?于 Servlet 容器。

如何設(shè)置Bean的作用域:

1.直接設(shè)置值:@Scope("prototype")

2.使用枚舉設(shè)置:@Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE)

http://m.aloenet.com.cn/news/43610.html

相關(guān)文章:

  • 網(wǎng)站怎么自己做優(yōu)化小說(shuō)網(wǎng)站排名前十
  • wordpress獲取菜單欄優(yōu)化大師好用嗎
  • 好建網(wǎng)站今日足球比賽預(yù)測(cè)推薦分析
  • wordpress 多站點(diǎn)遷移軟文寫(xiě)作模板
  • 在哪個(gè)網(wǎng)站可以做行測(cè)題長(zhǎng)春百度推廣電話
  • 合肥高端網(wǎng)站建設(shè)設(shè)計(jì)免費(fèi)海報(bào)模板網(wǎng)站
  • 廈門(mén)SEO_廈門(mén)網(wǎng)站建設(shè)長(zhǎng)春網(wǎng)站關(guān)鍵詞排名
  • 企業(yè)網(wǎng)站的推廣形式有哪些中國(guó)軟文網(wǎng)官網(wǎng)
  • 有沒(méi)有做網(wǎng)站的軟件百度快照是什么
  • 貸款超市網(wǎng)站開(kāi)發(fā)sem優(yōu)化服務(wù)公司
  • 如何自己做網(wǎng)站知識(shí)網(wǎng)絡(luò)營(yíng)銷類型
  • 廣州專業(yè)網(wǎng)站建設(shè)性價(jià)比高google學(xué)術(shù)搜索
  • 佛山建站公司哪家好騰訊云域名注冊(cè)
  • 畢業(yè)設(shè)計(jì)做網(wǎng)站lowseo查詢軟件
  • 河南網(wǎng)站建設(shè)價(jià)位柳州網(wǎng)站建設(shè)哪里有
  • 自己做網(wǎng)站申請(qǐng)域名百度廣告電話號(hào)碼是多少
  • 網(wǎng)站代碼優(yōu)化方法廣州信息流推廣公司排名
  • 空濾網(wǎng)站怎么做百度網(wǎng)站排名規(guī)則
  • 企業(yè)網(wǎng)站優(yōu)化方案模板免費(fèi)發(fā)布廣告
  • 晉中路橋建設(shè)集團(tuán)有限公司網(wǎng)站公司想做網(wǎng)絡(luò)推廣貴不
  • 在上面網(wǎng)站上可以做統(tǒng)計(jì)圖亞馬遜市場(chǎng)營(yíng)銷案例分析
  • 楚風(fēng)網(wǎng)站建設(shè)工作室網(wǎng)絡(luò)公司網(wǎng)站
  • 自己制作wordpress plugin網(wǎng)站 seo
  • 上海嘉定網(wǎng)站百度網(wǎng)訊科技有限公司官網(wǎng)
  • 屋頂平臺(tái)設(shè)計(jì)效果圖大全淘寶優(yōu)化
  • 單頁(yè)面營(yíng)銷型網(wǎng)站制作網(wǎng)絡(luò)推廣方法有哪些
  • 包包網(wǎng)站建設(shè)可行性分析網(wǎng)店運(yùn)營(yíng)培訓(xùn)哪里好
  • 成都免費(fèi)招聘網(wǎng)站溫州seo推廣外包
  • 網(wǎng)站單獨(dú)頁(yè)面怎么做301重定向小紅書(shū)關(guān)鍵詞檢測(cè)
  • 中職示范校建設(shè)網(wǎng)站凡科建站怎么用