SpringMVC scope屬性的兩種模式

singleton作用域:當把一個Bean定義設置爲singleton作用域是,Spring IoC容器中只會存在一個共享的Bean實例,並且所有對Bean的
請求,只要id與該Bean定義相匹配,則只會返回該Bean的同一實例。值得強調的是singleton作用域是Spring中的缺省作用域。
prototype作用域:prototype作用域的Bean會導致在每次對該Bean請求(將其注入到另一個Bean中,或者以程序的方式調用容器的getBean
()方法)時都會創建一個新的Bean實例。根據經驗,對有狀態的Bean應使用prototype作用域,而對無狀態的Bean則應該使用singleton作用
域。
對於具有prototype作用域的Bean,有一點很重要,即Spring不能對該Bean的整個生命週期負責。具有prototype作用域的Bean創建後交由調
用者負責銷燬對象回收資源。
簡單的說:
singleton 只有一個實例,也即是單例模式。(默認)
prototype訪問一次創建一個實例,相當於new。 
應用場合:
1.需要回收重要資源(數據庫連接等)的事宜配置爲singleton,如果配置爲prototype需要應用確保資源正常回收。
2.有狀態的Bean配置成singleton會引發未知問題,可以考慮配置爲prototype。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章