spring中的bean是執行緒安全的嗎

2021-10-23 22:26:47 字數 339 閱讀 9851

spring中的bean,如controller,service等,都是bean,另外還有註解@bean也是

結論:不是執行緒安全的!

1、在@controller/@service等容器中,預設情況下,scope值是單例-singleton的,也是執行緒不安全的。

2、盡量不要在@controller/@service等容器中定義靜態變數,不論是單例(singleton)還是多例項(prototype)他都是執行緒不安全的。

3、預設注入的bean物件,在不設定scope的時候他也是執行緒不安全的。

4、一定要定義變數的話,用threadlocal來封裝,這個是執行緒安全的

**:

Java多執行緒中Spring的Bean注入失敗

問題說明 原因分析 web容器在啟動應用時,spring容器是無法感知多執行緒的那些bean的,所以多執行緒的bean類無法獲取spring容器的上下文,並不能通過 autowired注入需要的bean 解決方案 執行緒中獲取bean public class servicefactory retu...

spring中的bean預設是單例模式

餓漢模式 spring singleton的預設是餓漢模式 啟動容器時 即例項化容器時 為所有spring配置檔案中定義的bean都生成乙個例項 懶漢模式 在第乙個請求時才生成乙個例項,以後的請求都呼叫這個例項 spring singleton設定為懶漢模式 二 另一種和singleton對應的sc...

Spring中Bean的配置

以下面的xml檔案舉例 第乙個bean的名稱為role,第二個bean的名稱為medicine,第三個bean的名稱為spring.chapter.mary.poison,第四個bean的名稱為spring.chapter.mary.poison 1 id和name的區別如下 id屬性具有唯一性,每...