1 回答

TA貢獻1810條經(jīng)驗 獲得超5個贊
singleton作用域:當(dāng)把一個Bean定義設(shè)置為singleton作用域是,Spring IoC容器中只會存在一個共享的Bean實例,并且所有對Bean的
請求,只要id與該Bean定義相匹配,則只會返回該Bean的同一實例。值得強調(diào)的是singleton作用域是Spring中的缺省作用域。
prototype作用域:prototype作用域的Bean會導(dǎo)致在每次對該Bean請求(將其注入到另一個Bean中,或者以程序的方式調(diào)用容器的getBean
()方法)時都會創(chuàng)建一個新的Bean實例。根據(jù)經(jīng)驗,對有狀態(tài)的Bean應(yīng)使用prototype作用域,而對無狀態(tài)的Bean則應(yīng)該使用singleton作用
域。
對于具有prototype作用域的Bean,有一點很重要,即Spring不能對該Bean的整個生命周期負責(zé)。具有prototype作用域的Bean創(chuàng)建后交由調(diào)
用者負責(zé)銷毀對象回收資源。
簡單的說:
singleton 只有一個實例,也即是單例模式。
prototype訪問一次創(chuàng)建一個實例,相當(dāng)于new。
- 1 回答
- 0 關(guān)注
- 812 瀏覽
添加回答
舉報