勵志

勵志人生知識庫

bean的作用域有哪些

Bean的作用域主要有六種,分別是singleton(單例作用域)、prototype(原型作用域)、request(請求作用域)、session(會話作用域)、application(全局作用域)和websocket(HTTP WebSocket作用域)。這些作用域定義了Spring框架中Bean的生命周期和共享範圍。

singleton(單例作用域)。每個Spring IoC容器內同名稱的bean只有一個實例,是Spring默認的作用域。

prototype(原型作用域)。每次使用該bean時會創建新的實例,不會在IoC容器中保持該bean的引用。

request(請求作用域)。每個HTTP請求生命周期內創建新的實例,適用於Web環境。

session(會話作用域)。每個HTTP Session生命周期內創建新的實例,適用於Web環境。

application(全局作用域)。每個ServletContext生命周期內創建的實例,適用於Web環境。

websocket(HTTP WebSocket作用域)。在HTTP WebSocket的生命周期中定義一個Bean實例,適用於Web環境。

每種作用域都適用於不同的場景和需求,例如,無狀態的服務通常使用singleton作用域,而有狀態的服務則可能需要使用prototype或其他作用域。