singleton和prototype的區(qū)別
1 回答

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