日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

Spring Singleton,请求,会话Bean和线程安全

發布時間:2023/12/3 javascript 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Spring Singleton,请求,会话Bean和线程安全 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
由眾多有用框架組成的Spring框架生態系統已成為許多Java EE應用程序的基礎。 但是在所有Spring產品的核心中,我們仍然擁有Spring DI / IOC框架,該框架將Spring推向了新的高度。

隨著越來越多的人將Spring MVC或JSF-Spring集成用于他們的應用程序,除了更傳統的Singleton和Prototype范圍之外,Spring Bean現在更頻繁地用于請求/會話范圍。

剛開始使用各種Spring范圍的開發人員最初的好奇心之一是,這些范圍在Web應用程序中以及在需要編寫安全的并發代碼的情況下的行為方式。 好吧,這個“否”的答案就是要對這些范圍進行過度考慮,因為它們的行為與命名方式完全相同。 讓我們以JSF-Spring集成為例,其中所有JSF bean都由Spring IOC容器加載,并且bean的作用域也使用假定的Spring的@Scope注釋定義。

具有@Scope(“ request”)的bean可以在任何新的傳入請求中創建,因此可以保證它的線程安全,因為它是在每次有新請求進入時創建的。接下來是@Scope(“ session”) bean,對于在用戶的每個會話中,如果用戶通過瀏覽器的多個選項卡訪問應用程序,則該bean范圍肯定會出現并發問題,因此對于開發人員而言,確保共享會話數據的狀態不會損壞很重要。

現在是@Scope(“ singleton”)或Spring Bean的默認范圍,這些單例Bean在繁重的Web應用程序中的行為如何。 首先,重要的是要了解“ Singleton”僅意味著一個實例,即應用程序將僅具有該bean的一個實例。 現在,Spring框架對于這個Singleton bean的多線程行為并沒有做任何事情 ,即它只是一個普通的Singleton bean,并且由開發人員來處理與該bean有關的并發問題。

現在出現了一個問題,Web應用程序中應將哪種bean用作Singleton ,答案很簡單: 任何沒有STATE的Bean都可以是singleton 。 例如,可以輕松地成為單例的bean是DAOServiceController這些控制器沒有自己的狀態,而是我們在應用程序中利用這些bean執行某些操作。DAO層bean可以是單例,因為它們沒有具有各自的狀態,但是每個線程使用DAO bean進行訪問以執行特定于線程的操作,因此DAO bean不受其自身并發訪問的影響,因為它沒有其自身的狀態。

選擇Singleton bean的一個非常糟糕的例子是需要維護其狀態的bean,在這種情況下,每個線程都會嘗試通過破壞數據將自己的狀態強加到該bean上。 例如,如果將具有名稱和年齡的設置器和獲取器的Person bean設為單例。 現在,如果有多個線程開始訪問此bean,它們將繼續覆蓋Person實例的最后一個設置值,從而破壞狀態。

結論–請記住黃金法則: 僅選擇那些沒有狀態的bean作為單例

參考:來自我們JCG合作伙伴 Tarun Sapra的Spring Singleton,請求,會話Bean和線程安全 ,在“ Java Enterprise Ecosystem”博客上 。

相關文章 :

  • Spring依賴注入技術的發展
  • Spring MVC開發–快速教程
  • 每個人都知道MVC…
  • Spring MVC3 Hibernate CRUD示例應用程序
  • 使用Spring Security保護GWT應用程序
  • Java教程和Android教程列表

翻譯自: https://www.javacodegeeks.com/2011/11/spring-singleton-request-session-beans.html

總結

以上是生活随笔為你收集整理的Spring Singleton,请求,会话Bean和线程安全的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。