spring 單例和多例理解

由於爲了考慮 線程安全等問題,web

因此儘可能讓spring的 bean 是 prototype類型,而不是默認的單例,spring

特別是controller 層,也能夠寫一個BaseConller 使用ThreadLocal 來獲取session ,這種就不須要註解了安全

 

或者是 使用 容器來 getBean 的時候最好讓bean是 prototype 。特別是 在 web.xml 裏面新建一個線程的時候session

或者是spring 裏面新建線程去操做的時候 ,這樣保證了線程安全,不然雖然 能夠啓動,可是每次關閉有時候會出異常的信息的prototype

可是也不是每一個bean 都用 prototype ,能不能就不用,這樣比較高效,並且 使用了 prototype 建立後交由調用者負責銷燬對象回收資源線程

singleton  只有一個實例,也急速單例模式xml

prototype 訪問一次建立一個實例,至關於new 一個對象了對象

相關文章
相關標籤/搜索