大家好,今天小編關(guān)注到一個(gè)比較有意思的話題,就是關(guān)于singleton的翻譯問(wèn)題,于是小編就整理了2個(gè)相關(guān)介紹singleton的解答,讓我們一起看看吧。
singleton和prototype的區(qū)別?
singleton作用域:當(dāng)把一個(gè)Bean定義設(shè)置為singleton作用域是,Spring IoC容器中只會(huì)存在一個(gè)共享的Bean實(shí)例,并且所有對(duì)zdBean的
請(qǐng)求,只要id與該Bean定義相匹配,則只會(huì)返回該Bean的同一實(shí)例。值得強(qiáng)調(diào)的是singleton作用域是Spring中的缺省作用域。
prototype作用域:prototype作用域的Bean會(huì)導(dǎo)致在每次對(duì)該Bean請(qǐng)求(將其注入到另一個(gè)Bean中,或者以程序的方式調(diào)用容器的getBean
()方法)時(shí)都會(huì)創(chuàng)建一個(gè)新的Bean實(shí)例。根據(jù)經(jīng)驗(yàn),對(duì)有狀態(tài)的Bean應(yīng)使用prototype作用域,而對(duì)無(wú)狀態(tài)的Bean則應(yīng)該使用singleton作用
域。
對(duì)于具有prototype作用域的Bean,有一點(diǎn)很重要,即Spring不能對(duì)該Bean的整個(gè)生命周期負(fù)責(zé)。具有prototype作用域的Bean創(chuàng)建后交由調(diào)
用者負(fù)責(zé)銷毀對(duì)象回收資源。
簡(jiǎn)單的說(shuō):
singleton 只有一個(gè)實(shí)例,也即是單例模式。
prototype訪問(wèn)一次創(chuàng)建一個(gè)實(shí)例,相當(dāng)于new。
spring的singleton和prototype的區(qū)別和應(yīng)用場(chǎng)合?
singleton作用域:當(dāng)把一個(gè)Bean定義設(shè)置為singleton作用域是,Spring IoC容器中只會(huì)存在一個(gè)共享的Bean實(shí)例,并且所有對(duì)Bean的
請(qǐng)求,只要id與該Bean定義相匹配,則只會(huì)返回該Bean的同一實(shí)例。值得強(qiáng)調(diào)的是singleton作用域是Spring中的缺省作用域。
prototype作用域:prototype作用域的Bean會(huì)導(dǎo)致在每次對(duì)該Bean請(qǐng)求(將其注入到另一個(gè)Bean中,或者以程序的方式調(diào)用容器的getBean
()方法)時(shí)都會(huì)創(chuàng)建一個(gè)新的Bean實(shí)例。根據(jù)經(jīng)驗(yàn),對(duì)有狀態(tài)的Bean應(yīng)使用prototype作用域,而對(duì)無(wú)狀態(tài)的Bean則應(yīng)該使用singleton作用
域。
對(duì)于具有prototype作用域的Bean,有一點(diǎn)很重要,即Spring不能對(duì)該Bean的整個(gè)生命周期負(fù)責(zé)。具有prototype作用域的Bean創(chuàng)建后交由調(diào)
用者負(fù)責(zé)銷毀對(duì)象回收資源。
簡(jiǎn)單的說(shuō):
singleton 只有一個(gè)實(shí)例,也即是單例模式。
prototype訪問(wèn)一次創(chuàng)建一個(gè)實(shí)例,相當(dāng)于new。
應(yīng)用場(chǎng)合:
1.需要回收重要資源(數(shù)據(jù)庫(kù)連接等)的事宜配置為singleton,如果配置為prototype需要應(yīng)用確保資源正?;厥?。
2.有狀態(tài)的Bean配置成singleton會(huì)引發(fā)未知問(wèn)題,可以考慮配置為prototype。
到此,以上就是小編對(duì)于singleton的翻譯問(wèn)題就介紹到這了,希望介紹關(guān)于singleton的2點(diǎn)解答對(duì)大家有用。